The decompilation of a thing's parts to determine how it worked and how to reproduce its results. This includes computer hardware and software. In the case of software, works regardless of the programming language that was used to create it, so that one can acquire information how the program works or how it implements protocols, that was previously secret.
This is a technique that is used to examine how a virus or worm works, how to break copy protection, or to determine what formatting creates a Microsoft document format. It is done by examining the binary to gain an understanding of the technical design.
The reverse and reengineering research communities have a strong tradition of collecting, organizing, and unifying research results. Typical examples include an explicit taxonomy, dedicated web sites, an annotated bibliography, as well as efforts in exchange formats and tool evaluation.
- Cyber Patrol break FAQ - The breaking of a web pornography filter, explains how and why they published their results, about the court case and the following settlement.