huku-/reveal

GitHub: huku-/reveal

REveal 是一个基于分治策略的二进制函数匹配引擎,用于高效对比两个可执行文件之间的函数级差异。

Stars: 0 | Forks: 0

# REveal ![认证](images/auth.png?raw=true "AUTh") ## 简介 REveal 是一个用于分治二进制对比的函数匹配引擎, 作为我博士研究的一部分而开发。 它通过 [RElib](https://github.com/huku-/relib) 实现了与框架无关的特性,目前 仅支持 IDA Pro。 ## 安装 要安装 REveal,请在逆向工程框架可访问的 Python 虚拟环境中运行以下命令: ``` git clone https://github.com/huku-/reveal.git pip install . ``` ## 使用 REveal 1. 在 IDA Pro 中打开第一个可执行文件(例如,**/tmp/example1**)并运行 **bin/export.py**。 这将创建 **/tmp/example1.export/** 目录来包含导出的数据。 2. 在 IDA Pro 中打开第二个可执行文件(例如,**/tmp/example2**)并运行 **bin/export.py**。 这将创建 **/tmp/example2.export/**。 如果您计划使用编译单元恢复作为分治策略, 请部署 [REcover](https://github.com/huku-/recover) 并遵循相关的 说明。 3. 运行 `reveal` 来执行对比。使用 `--match-hierarchical` 选择分治策略。例如: reveal -d --match-hierarchical recover-apsnse \ /tmp/example1.export /tmp/example2.export /tmp/results 位置参数指定了两个导出目录以及对比结果的 输出目录。 4. 检查恢复的匹配项: python bin/parse_matches.py /tmp/results/matched.pcl ## 注意事项 * REveal 可以通过名称匹配函数。这对于导入和 导出的符号特别有用,因为它们通常可以通过名称和 序号来识别。默认情况下,只有导入符号会通过名称匹配(详情请参阅 `reveal -h`)。 * REveal 建立在众多杰出研究人员发表的先前二进制对比研究的 基础之上。著名的 predecessors 包括 BinDiff、Diaphora、YaDiff 和 DarunGrim。 * **REveal 的开发未接受任何组织或政府的资助。** ## 引用 ``` @inproceedings{Karamitas2018, title = {Efficient features for function matching between binary executables}, author = {Karamitas, Chariton and Kehagias, Athanasios}, year = {2018}, booktitle = {2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)}, pages = {335--345}, organization = {IEEE} } @article{Karamitas2019, title = {Function matching between binary executables: efficient algorithms and features}, author = {Karamitas, Chariton and Kehagias, Athanasios}, year = {2019}, journal = {Journal of Computer Virology and Hacking Techniques}, publisher = {Springer}, volume = {15}, number = {4}, pages = {307--323} } @article{Karamitas2023, title = {Improving binary diffing speed and accuracy using community detection and locality-sensitive hashing: an empirical study}, author = {Karamitas, Chariton and Kehagias, Athanasios}, year = {2023}, journal = {Journal of Computer Virology and Hacking Techniques}, publisher = {Springer}, volume = {19(2)}, pages = {319--337} } @article{karamitas2025, title={REcover: towards recovering object files from stripped binary executables}, author={Karamitas, Chariton and Kehagias, Athanasios}, journal={Journal of Computer Virology and Hacking Techniques}, volume={21}, number={1}, pages={29}, year={2025}, publisher={Springer} } ``` ## 许可 版权所有 © 2018-2026, Chariton Karamitas, Athanasios Kehagias,保留所有权利
标签:IDA Pro, 二进制比对, 云资产清单, 漏洞分析, 路径探测, 逆向工具, 逆向工程