REmind
REmind copied to clipboard
Code for UI, backend, engine and statistical analysis for RE
REmind
Final repository for the study about Reverse Engineering behaviors
Data collection
Python virtual env
We have several dependencies (angr to generate the assembly, flask for the web-ui, mysql, ...). The first step is to build a proper python3 virtualenv:
- mkvirtualenv -p python3 re_webui
- pip install -r requirements.tx
All the following steps assume you set up the virtual environment and installed the requirements
How to generate disassembly and other binary analysis files
Simply, from the root directory of the repo, run:
./deploy_chall.sh /path/to/binary_file /path/to/output
Deploy a new challenge
As of now, you just need to edit the config.ini accordingly to the new chall configurations, then adding a blueprint using the template_chall.py as a skeleton, and of course read the previous point for the disassembly/strings/binary info generation.
For the frontend, the static directory includes the three main .js files that work as a library to make the challenge running. Just include them in an .html file with the name of the chall and copy the .html skeleton if you don't want any specific behavior.
TODO: implement an automatic way of doing that...
How to run the whole system
From the root directory of the repo:
- export FLASK_APP=re-webui
- export FLASK_ENV=development
- flask run --host=0.0.0.0
Results evaluation
Give a look to the README in the results_analysis/ directory