Quick tutorial of the reverse tool angr (1): installation, demining, CFG example

Angr is a binary analysis framework developed based on Python, which can be used to carry out dynamic symbolic execution (Symbolic Execution) and various static analysis. As the first in a series of articles, this article will introduce the basic steps of installing angr, especially the various pits you may encounter. Then, we will use angr to perform static analysis on the program, generate the corresponding CFG, and demonstrate the basic usage of angr. The first statement is that the author uses angr on the Ubuntu system. Therefore, the following examples, error prompts and solutions are also limited to the Ubuntu environment.

During the demining process, the following error messages are mainly resolved (of course, if you do not encounter them, it is the best):

virtualenvwrapper.sh: There was a problem running the initialization hooks.

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=XXXX and that PATH is set properly.

Error while finding module specification for 'virtualenvwrapper.hook_loader'
(ModuleNotFoundError: No module named 'virtualenvwrapper')

Error: deactivate must be sourced. Run 'source deactivate' instead of 'deactivate'.


1. Problems that may be encountered during installation and the process

Please refer to [1] for simple installation. What needs to be explained here is that the official recommendation is to use angr in a virtual Python environment. After all, this kind of reverse tool might affect other original configurations in your system. There are many ways to build a Python virtual environment. For example, you can use Docker (the method given in [2] but the Tensorflow deep learning environment is configured under Docker.

Guess you like

Origin blog.csdn.net/baimafujinji/article/details/50926010
cfg