.idea | ||
python_lib | ||
raw-feature-extractor | ||
search-engine | ||
fun_count.py | ||
ida_file_cerate.bat | ||
README.md | ||
req.txt |
This project provides two components of Genius, a graph-based bug search framework. The first component is the raw feature extraction. The second is the online bug search engine.
-
The raw feature extraction is designed to achieve following two goals:
-> Extract the control flow graph for each binary function
-> Extract the attributes for each node in the grap
The feature extraction is built on top of IDA-pro. We wrote the scripts based on ida-python and extract the attributed control flow graph. ``preprocessing_ida.py'' is the main program to extract the ACFG.
-
The online bug search engine is used for real-time search:
-> It utilized localality sensitive hashing for indexing
-> Nearest-neighbor search algorithm for search
The online search is based on nearpy (https://github.com/pixelogik/NearPy).
D:\IDA_Pro_v6.8\idaq.exe -c -S"raw-feature-extractor/preprocessing_ida.py" file_name
D:\IDA_Pro_v6.8\idaq.exe -c -S"raw-feature-extractor/preprocessing_ida.py --path XXX" file_name