DEBIN 项目常见问题解决方案
debin Machine Learning to Deobfuscate Binaries 项目地址: https://gitcode.com/gh_mirrors/de/debin
项目基础介绍
DEBIN 是一个使用机器学习技术来恢复被删除调试信息(例如变量名和类型)的二进制文件(支持 x86, x64, ARM 架构)的开源项目。它由瑞士苏黎世联邦理工学院计算机科学系的 SRI 实验室作为机器学习编程项目的一部分开发。DEBIN 能够通过基于决策树的分类区分寄存器分配和内存分配的变量,并且通过结构化预测和概率图模型为变量和函数预测有意义的名称和类型。该项目主要使用 C++ 和 Ocaml 编程语言。
新手常见问题及解决步骤
问题一:如何安装和配置项目环境
问题描述: 新手用户在尝试运行项目时,可能不知道如何正确安装和配置项目环境。
解决步骤:
- 克隆项目到本地:
git clone https://github.com/eth-sri/debin.git
- 根据官方文档,首先安装 Nice2Predict 和 BAP:
- Nice2Predict 的安装遵循官方文档中的步骤。
- BAP 的安装同样遵循其官方文档中的步骤。
- 安装 Python3 依赖:
pip3 install -r requirements.txt
- 编译和安装 BAP 插件:
cd ocaml bapbuild -pkg yojson loc-plugin bapbundle install loc-plugin cd ..
- 编译用于生成输出的共享库:
cd cpp g++ -c -fPIC modify_elf.cpp -o modify_elf.o -I/ g++ modify_elf.o -shared -o modify_elf.so cd ..
问题二:如何下载预训练模型
问题描述: 用户可能不知道如何下载和使用项目提供的预训练模型。
解决步骤:
- 使用 wget 命令下载预训练模型:
wget https://files.sri.inf.ethz.ch/debin_models.tar.gz
- 解压缩下载的文件:
tar -zxvf debin_models.tar.gz
- 将解压后的模型文件夹移动到相应的位置:
mv crf/ models/ mv variable/ models/
- 删除下载的压缩文件:
rm debin_models.tar.gz
问题三:如何运行训练或测试命令
问题描述: 用户可能不清楚如何使用命令来训练或测试 DEBIN。
解决步骤:
- 训练模型: 使用提供的二进制文件和调试信息列表来训练模型。具体命令根据官方文档进行操作。
- 测试模型: 使用已训练好的模型对新的二进制文件进行测试。具体命令同样参考官方文档。
以上步骤仅为概述,详细操作请参考项目官方文档和指南。
debin Machine Learning to Deobfuscate Binaries 项目地址: https://gitcode.com/gh_mirrors/de/debin
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考