DNN Binary Code Similarity Detection

This repo provides an implementation of the Gemini network for binary code similarity detection in this paper.

Prepration and Data

Unzip the data by running:

unzip data.zip

The network is written using Tensorflow 1.4 in Python 2.7. You can install the dependencies by running:

pip install -r requirements.txt

Model Implementation

The model is implemented in graphnnSiamese.py.

Run the following code to train the model:

python train.py

or run python train.py -h to check the optional arguments.

After training, run the following code to evaluate the model:

python eval.py

or run python eval.py -h to check the optional arguments.