# FindCrypt Ghidra 版密码常量识别脚本

> 移植自 Ilfak Guilfanov 为 IDA 编写的 FindCrypt 插件的 Ghidra 脚本，在程序内存或当前选区中查找密码算法与压缩算法的常量。其序列化签名库保留了原插件的 79 组算法常量，按 README 的统计共含 122 个可检测常量，涵盖哈希函数、分组密码与流密码、Curve25519 代码、Keccak 和 zlib；若找不到完整常量，脚本还会查找其中的单个元素，并报告超过检测阈值的部分匹配。命中结果会生成 Ghidra 书签和结果表，可从表中将匹配位置定义为数据。

- 类型：工具
- 目标：二进制
- 类别：原生分析工具
- 关联：基础工具
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/d3v1l401/FindCrypt-Ghidra>
- 一手来源：<https://github.com/d3v1l401/FindCrypt-Ghidra/blob/71660fddbe7300acb39e013ad6ad96cd001c0d99/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/findcrypt-ghidra/>
- 记录 JSON：<https://awesomerea.org/resources/findcrypt-ghidra/record.json>
- 英文版：[English](https://awesomerea.org/resources/findcrypt-ghidra/index.md)

## 使用条件与局限

- README 称作者已无法维护，项目已停止开发，并推荐 TorgoTorgo/ghidra-findcrypt 等分支。所审阅的 master 提交日期为 2021-03-18；最后一个版本 1.5 发布于 2020-04-17，附带 FindCrypt.java 和 database.d3v，脚本与签名库的版本号均为 7。未注明支持哪些 Ghidra 版本，安装示例路径中写的是 Ghidra 9.0。
- 需要手动安装：将 FindCrypt.java 复制到 Ghidra 的 Features/BytePatterns/ghidra_scripts 目录，将 findcrypt_ghidra 签名库文件夹复制到用户主目录，然后对已在 Ghidra 中载入的程序，从脚本管理器运行该脚本。无界面运行时会直接打印结果，而不打开结果表。
- 默认情况下，每次运行都会连接 raw.githubusercontent.com，将脚本和签名库版本与本仓库比较，并把更新的 database.d3v 下载到主目录下的文件夹中；README 说明可通过脚本中的 __FORCE_NO_DBUPDATE 和 __FORCE_NO_SCRIPTUPDATE 标志关闭此功能。
- 检测方式是按字节搜索已知常量，因此命中结果只标出候选位置；不含常量表的代码无法被发现。新增签名需使用 Utils 中的 FCExporter Visual Studio 项目构建，该项目依赖 Crypto++ 进行压缩。
- 采用 GPL-3.0 许可，并为导出工具附带 Crypto++ 许可声明。README 致谢 Ilfak Guilfanov 的原始插件，签名库更新说明则注明当前格式由贡献者 Pawlos 开发。

## 一手来源

1. <https://github.com/d3v1l401/FindCrypt-Ghidra/blob/71660fddbe7300acb39e013ad6ad96cd001c0d99/README.md>
2. <https://github.com/d3v1l401/FindCrypt-Ghidra/blob/71660fddbe7300acb39e013ad6ad96cd001c0d99/FindCrypt.java>
3. <https://github.com/d3v1l401/FindCrypt-Ghidra/blob/71660fddbe7300acb39e013ad6ad96cd001c0d99/findcrypt_ghidra/last_chlog.txt>
4. <https://github.com/d3v1l401/FindCrypt-Ghidra/blob/71660fddbe7300acb39e013ad6ad96cd001c0d99/Utils/FCExporter/README.txt>
5. <https://github.com/d3v1l401/FindCrypt-Ghidra/blob/71660fddbe7300acb39e013ad6ad96cd001c0d99/LICENSE>
6. <https://github.com/d3v1l401/FindCrypt-Ghidra/blob/71660fddbe7300acb39e013ad6ad96cd001c0d99/Licenses/Crypto++.txt>
7. <https://github.com/d3v1l401/FindCrypt-Ghidra/releases/tag/1.5>

## 同分区更多条目：原生二进制

- [Binary Refinery 二进制数据转换工具集](https://awesomerea.org/zh/resources/binary-refinery/index.md) · 工具
- [AngryGhidra Ghidra 符号执行插件](https://awesomerea.org/zh/resources/angryghidra/index.md) · 工具
- [fpicker Frida 插桩与覆盖率采集套件](https://awesomerea.org/zh/resources/fpicker/index.md) · 工具
- [RetroWrite 静态二进制改写框架](https://awesomerea.org/zh/resources/retrowrite/index.md) · 工具
- [Interruptor 系统调用跟踪库](https://awesomerea.org/zh/resources/interruptor/index.md) · 工具
- [dyld_cache_extract dyld 共享缓存提取工具](https://awesomerea.org/zh/resources/dyld-cache-extract/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
