Neural Reverse Engineering of Stripped Binaries using Augmented Control Flow Graphs
<p>This dataset and pre-trained models are released as a companion to our OOPSLA '20 publication: "Neural Reverse Engineering of Stripped Binaries using Augmented Control Flow Graphs":</p> <ol> <li>The dataset file (<a href="https://zenodo.org/api/files/0e98c909-50b4-43e3-8ab2-bb9673eed786/nero_dataset_binaries.tar.gz?versionId=b943752a-e89e-43c1-b32f-19d4a7420e00">nero_dataset_binaries.tar.gz</a>) is composed from packages of binary executables created by compiling several GNU source-code packages. We used these executables to evaluate our approach as implemented in our prototype "Nero" and compare it to other approaches. All executables contain debug information which serves as the ground truth for the procedure name predictions. The packages are split into three sets: training, validation and test. <ol> <li>The executable file name structure is: "<compiler>-<compiler version>__O<Optimization level(u for default)>__<Package name>[-<optional package version>]__<Executable name>". For example "gcc-5__Ou__cssc__sccs".</li> </ol> </li> <li>The procedure representation file (<a href="https://zenodo.org/api/files/0e98c909-50b4-43e3-8ab2-bb9673eed786/procedure_representations.tar.gz?versionId=fef2380c-c869-4a3f-8e32-bc4972dbb219">procedure_representations.tar.gz</a>) contains: <ol> <li>The raw representations for all the binary procedures in the above dataset. Each procedure is represented by one line in the relevant file for each set (training.json, validation.json and test.json) </li> <li>The above representations preprocessed for training.</li> </ol> </li> <li>The pre-trained model file (<a href="https://zenodo.org/api/files/0e98c909-50b4-43e3-8ab2-bb9673eed786/nero_gnn_model.tar.gz">nero_gnn_model.tar.gz</a>) was created using the above preprocessed dataset and contains: <ol> <li>Pre-trained model.</li> <li>Training log.</li> <li>Prediction results log.</li> </ol> </li> </ol> <p>For the code of the "Nero" prototype, and more information about the above artifacts see <a href="https://github.com/tech-srl/Nero">our Github repo</a></p>
ShareScore
36/100
Overall dataset sharing score
Score breakdown
These five areas show where the dataset supports — or may limit — practical reuse.
- Stewardship
- 8
- Harmonization
- 4
- Access
- 16
- Reuse readiness
- 8
- Engagement
- 0