Skip to content
Dataset and Scripts for Function Boundary Detection -- See ACSAC Publication
Python Java
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
datasets
ghidra_scripts
scripts
LICENSE
README.md

README.md

FunctionBoundary

Dataset and Scripts for Function Boundary Detection -- See ACSAC Publication Jim Alves-Foss and Jia Song, "Function Boundary Detection in Stripped Binaries", ACSAC'19, 2019. https://doi.org/10.1145/3359789.3359825

Directories:

  • script contains executable scripts used to generate function boundaries for three tools: JIMA, nucleus and Ghidra; and a tool to countup the results. Also contains our JIM executable -- called "processJil".
  • ghidra_scripts contains the java file that Ghidra executes to calcalate the function boundaries. The file needs to be placed in your Ghidra scripts directory.
  • dataset contains most of the data sets we used in the paper. We had to remove the files greater than 100MB, which includes some of the files generated by SPEC and also Chrome.

Example:

mkdir tmpJIMA
cd tmpJIMA
../scripts/runJima --dir ../datasets/strippedTestSuites/x64gcc
../scripts/countMatch.py --binDir ./ --symDir ../datasets/groundTruth/x64gcc

This will create the data files from the JIMA tool, .res files for each file with details and .csv files with combined results

NOTE: To run nucleus, you will have to download and install it. Make sure the executable is on your path.

NOTE: To run ghidra, you will have to download and install it. Make sure the executable is on your path.

You can’t perform that action at this time.