Reverse Engineering
Introduction
Reverse engineering is the process of disassembling a hardware or software product from another company to find out how it works, with the intention of duplicating some or all of its functions in another product.
Java Decompilers
Other Decompilers
Resource Hacking