NetherlandsForensicInstitute/asmtransformers
GitHub: NetherlandsForensicInstitute/asmtransformers
一个基于机器学习模型的项目,用于比对 ARM64 汇编函数与已知函数库,以辅助逆向工程。
Stars: 15 | Forks: 1
# ASMTransformers 🦾
ASMTransformers 是一个用于训练和使用的机器学习模型的项目,用于比较汇编代码(目前仅支持 ARM64)
与已知函数数据库中的函数,以辅助逆向工程过程。
这个单体仓库由三个不同的部分组成,每个部分的详细信息请查阅各自的 README:
- [**asmtransformers**](./asmtransformers) - 机器学习模型的训练和推理代码
- [**citatio**](./citatio) - 项目的 FastAPI 后端(依赖于 *asmtransformers*)
- [**sententia**](./sententia) - 一个用于与上述服务和模型交互的 Ghidra 前端
对应的模型,名为 `ARM64BERT` 和 `ARM64BERT-embedding`,可在 [Hugging Face 🤗](https://huggingface.co/collections/NetherlandsForensicInstitute/arm64bert-6825cca70b6b855fbe4b347b) 上获取。
## 示例
要查看一个最小可工作的示例,你需要完成以下两件事:
1. 按照 [**citatio**](./citatio) 目录中的说明设置后端。最终结果是在 8000 端口运行一个服务器。
2. 按照 [**sententia**](./sententia) 目录中的说明设置 Ghidra 插件。配置插件使其端口与 **citatio** 服务器端口匹配。
现在你可以加载一个 arm64 二进制文件,通过 **sententia** 插件向(临时的!)数据库添加函数,并本地请求模型计算与其他函数的相似度分数。
一个带有预填充数据库的更有意义的示例位于 [./examples/atf](),要设置它,请按照那里的说明操作。
标签:Apex, ARM64, ARM64BERT, AV绕过, BERT, FastAPI, Ghidra插件, Hugging Face, 云资产清单, 代码搜索, 代码检索, 代码相似性, 凭据扫描, 函数比对, 函数识别, 前端界面, 后端服务, 嵌入向量, 数据库, 机器学习, 模型推理, 模型训练, 汇编分析, 深度学习, 特征提取, 相似度计算, 网络安全, 脚本检测, 逆向工具, 逆向工程, 隐私保护