(n) Art and science of breaking something down, extracting design and mechanics behind, and manipulating into its basic principle.
Reversing is the process of, partially or fully, recovering the design, requirement specifications, and functions of a product from an analysis of object.
Reverse Engineering is a large topic, so we divide it into several specializations:
- Software Reverse Engineering
- Hardware Reverse Engineering
- Format Reverse Engineering
- Database Reverse Engineering
Read the list.
Software Reverse Engineering focus on code, related data, and architecture which build a complete software.
In most case, the target of Software Reversing is code in compiled form (native or intermediate), either executable or libraries.
Read the list
Hardware Reverse Engineering focus on circuitry (boards, ICs) and intercomponent relation.
Read the list
Data Format Reverse Engineering focus on representation and interpretation of structured data in stored or transmitted form.
Read the list
Database Reverse Engineering focus on collection of structured data (entities) and relationship among them.