项目简介
本项目名为DDisasm,是一个基于Souffle Datalog的快速且准确的二进制反汇编工具。它可解析ELF文件,利用Datalog语言编译反汇编规则和启发式方法,通过分析ELF文件信息和解码指令,生成中间表示(GTIRB),最终输出可重新汇编的汇编代码。
项目的主要特性和功能
- 快速且准确的反汇编:能快速解析二进制文件并生成准确汇编代码,支持ARM64、X86_32等多种架构。
- 中间表示生成:生成GTIRB中间表示,方便进一步进行二进制分析和逆向工程。
- 调试支持:提供调试选项,可使用Souffle解释器加速开发和调试。
- 自诊断功能:利用重定位信息进行符号化过程的自诊断,辅助调试和分析。
- 多线程支持:支持多线程处理,提升反汇编效率。
安装使用步骤
依赖安装
确保已安装以下依赖: - Capstone(版本4.0.1或更高) - libehp(版本1.0.0或更高) - LIEF(版本0.11.5或更高)
构建步骤
- 配置CMake:
bash cmake ./ -Bbuild -DCMAKE_CXX_COMPILER=<compiler> -DLIEF_ROOT=<LIEF路径> -Dgtirb_DIR=<GTIRB路径> -Dgtirb_pprinter_DIR=<gtirb-pprinter路径>
- 编译:
bash cd build make
运行反汇编
编译完成后,使用以下命令运行反汇编:
bash
cd build/bin
./ddisasm <输入文件> --asm <输出汇编文件>
调试选项
- 关闭特定架构支持:
bash cmake ./ -Bbuild -DDDISASM_ARM_64=OFF -DDDISASM_X86_32=OFF
- 使用Souffle解释器:
bash ddisasm --debug-dir <调试目录> --interpreter <Souffle源文件路径> --asm <输出汇编文件> <输入文件>
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】