volexity/GoGrapher

GitHub: volexity/GoGrapher

GoGrapher 是一个基于控制流图相似度的二进制函数匹配工具,用于识别两个二进制文件间结构对应的函数。

Stars: 12 | Forks: 2

# GoGrapher GoGrapher 是一个控制流图 (CFG) 相似性工具,用于识别两个二进制文件之间匹配的函数。 ## 如何安装 要安装 GoGrapher,我们建议直接从 PyPi 拉取: ``` pip install gographer ``` 这将安装 GoGrapher 及其必要的依赖项。 ### 从源码构建 如果您希望从源码构建并安装 GoGrapher,请使用 cargo 常用的构建命令: ``` cargo build --release ``` 或者,如果要将 GoGrapher 构建为 Python 库,请改用 maturin: ``` maturin build --release ``` 然后您可以安装生成的 .whl 文件。 ## 命令行用法 安装完成后,将提供一个名为 `gographer` 的新实用工具。 ``` Usage: gographer [OPTIONS] [REFERENCE_PATH]... Arguments: Path to the GO sample to analyze [REFERENCE_PATH]... Path to the GO reference samples to compare to Options: -o, --output Path of the output JSON report -t, --threshold Value at which matches are considered significant [default: 0.0] -h, --help Print help ``` 以下是使用 GoGrapher 的典型工作流程: ``` gographer path/to/sample.exe path/to/reference.exe -o path/to/report.json ``` 执行后,GoGrapher 将对每个二进制文件进行反汇编,然后计算样本与每个参考二进制文件之间的相似度。 根据所使用的命令行选项,生成的相似度报告将以彩色打印到 STDOUT,或保存到指定的输出文件中。 ## 参考文献 Volexity 感谢韩国庆南大学 (Kyungnam) 的 Hyun-li Lim 先生提供的关于 CFG 相似性算法的[论文](https://www.ijcse.com/docs/INDJCSE20-11-03-237.pdf),这是 GoGrapher 相似性算法实现的基础。
标签:Go语言, Rust, 二进制分析, 云安全运维, 函数相似度, 可视化界面, 恶意代码分析, 控制流图, 程序破解, 网络流量审计, 逆向分析, 逆向工具, 通知系统, 配置文件