用于反编译汇编代码的 AI 模型

主要观点

  • 反向工程中,将低级汇编代码转换回人类可读源代码是关键问题,文中总结了 RevEng.AI 的相关工作,通过开发基础 AI 模型进行反编译。
  • 反编译汇编代码很重要,能在恶意软件分析、遗留代码维护等方面发挥作用,但面临固有挑战。
  • 传统反编译依赖预定义规则和启发式方法,AI 反编译则直接从大数据集中学习模式,有输出类似人类代码、不受手工规则限制等优势。
  • 以 HumanEval 基准测试为例,展示了 AI 反编译能完美复制函数逻辑,优于传统反编译工具 Ghidra。
  • 介绍了 AI 反编译的问题设置、数据集和训练,使用编码器-解码器 Transformer 模型,注重数据集规模、多样性和质量。
  • 通过注释示例展示了 AI 反编译的效果,在 HumanEval 基准测试中,RevEng AI 反编译器性能显著优于 Ghidra 和 LLM4Decompile 模型。
  • 得出 AI 反编译有前景,正在探索多种改进途径,如扩展数据集、探索中间表示等,且 AI 反编译器已对 RevEng.AI 用户开放。

关键信息

  • 反编译在多个领域的作用及面临的挑战。
  • 传统与 AI 反编译的对比及 AI 反编译的优势。
  • HumanEval 基准测试及各模型在该测试中的表现。
  • AI 反编译的问题设置、数据集和训练细节。
  • 正在探索的改进途径及 AI 反编译器的现状。

重要细节

  • 传统反编译依靠控制流分析和类型推断等技术,AI 反编译通过模仿真实源代码示例学习模式。
  • 实验中使用 1.1 亿参数的编码器-解码器 Transformer 模型,在约 3300 万独特的提取汇编/C 源代码函数对上训练。
  • 在 HumanEval 基准测试中,RevEng AI 反编译器在不同编译器优化级别下的表现及与其他模型的对比。
  • 正在探索的改进途径包括扩展数据集支持其他语言、探索中间表示、开发更复杂评估指标和整合语义正确性反馈等。
阅读 89
0 条评论