Skip to content

yapengye/D-ARM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

D-ARM

D-ARM is a disassembler particularly designed for ARM binaries. It features a lightweight superset static analysis to derive rich semantic information and a graph-theory based method that aggregates such information to produce disassembly results. Please find the details in our paper.

This repo is WIP.

Requirements

  • Python 3.6 or higher
  • Install dependencies:
$ pip install -r requirements.txt

Usage

Run D-ARM with the following command:

python darm.py -i PATH_TO_BINARY [Other Options]

e.g.:

python darm.py -i test/binary/spec2000_gcc5.5_O0_marm_v5t_bzip2

Arguments:

  • -i, --input: the filepath of input binary (required)
  • -a, --arch: architecture of input binary (32 or 64) (default: identify the architecture automatically)
  • -v, --verbose: print verbose output with instruction info (default: False)
  • -s, --strip: strip binary before disassembly (default: False)
  • -o, --output_dir: the folder for output files

Cite

  • Yapeng Ye, Zhuo Zhang, Qingkai Shi, Yousra Aafer, Xiangyu Zhang. "D-ARM: Disassembling ARM Binaries by Lightweight Superset Instruction Interpretation and Graph Modeling." In 2023 IEEE Symposium on Security and Privacy (SP).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages