QBinDiff 项目使用教程
qbindiffQuarkslab Bindiffer but not only !项目地址:https://gitcode.com/gh_mirrors/qb/qbindiff
1. 项目的目录结构及介绍
QBinDiff 是一个实验性的二进制差异分析工具,其 GitHub 仓库的目录结构如下:
qbindiff/
├── doc/
├── src/
│ └── qbindiff/
├── tests/
├── .gitignore
├── .git-blame-ignore-revs
├── LICENSE
├── README.md
├── meson.build
├── pyproject.toml
└── tox.ini
目录介绍:
- doc/: 包含项目的文档文件。
- src/qbindiff/: 包含 QBinDiff 的主要源代码。
- tests/: 包含项目的测试文件。
- .gitignore: Git 忽略文件配置。
- .git-blame-ignore-revs: Git 历史忽略配置。
- LICENSE: 项目许可证文件。
- README.md: 项目介绍和使用说明。
- meson.build: Meson 构建系统配置文件。
- pyproject.toml: Python 项目配置文件。
- tox.ini: Tox 自动化测试配置文件。
2. 项目的启动文件介绍
QBinDiff 的启动文件位于 src/qbindiff/
目录下,主要包含以下文件:
- main.py: 项目的入口文件,负责启动 QBinDiff 的主要功能。
- config.py: 配置文件处理模块,负责加载和解析配置文件。
- diff.py: 差异分析模块,实现二进制文件的差异分析功能。
启动文件介绍:
-
main.py:
- 负责初始化配置、加载二进制文件并调用差异分析模块进行分析。
- 提供命令行接口,用户可以通过命令行参数进行配置和启动。
-
config.py:
- 负责读取和解析配置文件,提供配置项的获取和设置接口。
- 支持自定义配置文件路径和格式。
-
diff.py:
- 实现二进制文件的差异分析算法。
- 提供差异结果的输出和展示功能。
3. 项目的配置文件介绍
QBinDiff 的配置文件主要位于 src/qbindiff/
目录下,通常是一个 config.ini
文件,其内容如下:
[General]
log_level = INFO
output_format = json
[Diff]
similarity_threshold = 0.9
callgraph_weight = 0.5
[Input]
binary1_path = /path/to/binary1
binary2_path = /path/to/binary2
配置文件介绍:
-
[General]:
- log_level: 日志级别,可选值为
DEBUG
,INFO
,WARNING
,ERROR
。 - output_format: 输出格式,可选值为
json
,text
。
- log_level: 日志级别,可选值为
-
[Diff]:
- similarity_threshold: 相似度阈值,用于判断两个函数的相似度。
- callgraph_weight: 调用图权重,用于调整调用图在差异分析中的重要性。
-
[Input]:
- binary1_path: 第一个二进制文件的路径。
- binary2_path: 第二个二进制文件的路径。
通过修改配置文件,用户可以自定义 QBinDiff 的行为和参数,以适应不同的分析需求。
qbindiffQuarkslab Bindiffer but not only !项目地址:https://gitcode.com/gh_mirrors/qb/qbindiff