Reverse engineering resources

Reverse reversal resources

The main output of the development team is not the diagrams, but the software, so the models and the implementations based on them must correspond to each other with minimal costs for maintaining synchronization between them. Most often, the developed models will turn into software code. Reverse engineering is the process of converting code written in any programming language into a model. As a result of this process, you get a huge amount of information, some of which is at a lower level of detail than is necessary to build useful models. At the same time, reverse engineering is never complete. The fact is that direct design, which precedes reverse design, leads to a loss of information, so that it will not be possible to completely restore the model based on the code, unless the tools include in the comments to the source text information that goes beyond the semantics of the implementation language.

The reverse design of the class diagram is carried out as follows:

  1. Rules for conversion from the selected implementation language are identified. This can be done at the level of the project or the organization as a whole.

  2. The tool specifies the code that will be reverse engineered.

  3. Using tools, a class diagram is created by interrogating the resulting model. You should start, for example, with one or more classes, and then expand the diagram by following some relationships or adding neighboring classes. At the same time, you can reveal or hide the details of the content of the diagram, depending on your intentions. In the article, we have selected a list of excellent reversal resources that you may need in practice.


Books and courses


Practice reverse engineering. Be careful with malware.

Hexadecimal editors

Binary tools


Binary analysis resources

Bytecode analysis tools

Import of reconstruction tools

Dynamic analysis tools

Debugging tools

Mac decryption tools

Document analysis tools


Android tools

Found an error?
If you find an error, take a screenshot and send it to the bot.