2024 · 会议论文

SLaDe:面向优化汇编的可移植小语言模型反编译器

SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly

SLaDe 使用 200M 参数的编码器—解码器模型、面向代码的分词及 PsycheC 类型补全,将函数级汇编转换为 C。研究覆盖 x86 与 ARM 的 -O0、-O3 设置,并结合生成候选与输入/输出检查。输入是汇编文本而非原始机器字节,反汇编不属于该方法。

研究范围与局限

评测覆盖约 4,000 个 ExeBench 函数及含 112 个程序的合成基准。束宽为 5,并选择首个通过有限输入/输出测试的候选;生成函数被放回原始调用上下文。通过这些测试不代表完整程序或全部输入上的等价性。编辑相似度只是可读性的代理指标。较长函数、外部调用及错误的类型/运算符预测仍会导致失败;模型的输入和输出窗口均为 1,024 个位置。历史基线比较的覆盖范围不同,不能据此确立当前排名。

与本合集的关联

补充结合类型推断与执行结果评测的神经反编译方法,与符号恢复及后续大语言模型反编译研究互补。

发表与复核详情

发表载体
IEEE/ACM CGO 2024
发表状态
会议论文
出版/提交日期
2024 年 3 月 2 日
日期依据
IEEE 提交的 Crossref 元数据将 published/纸质出版日期记为 2024-03-02;爱丁堡大学出版记录则给出 2024-02-28,这也是 DOI 创建日期。本条目采用出版方提交的纸质出版日期,并非仅依据会议日程推定。
arXiv 首次提交
2023 年 5 月 21 日
arXiv
2305.12520
已复核的 arXiv 版本
v3
DOI
10.1109/CGO57630.2024.10444788

审阅 2024-02-15 发布的 arXiv v3,即 CGO 接收稿;出版元数据确认最终发表场所及页码。论文参考文献 65 链接至 Zenodo 产物,其独立 LICENSE 将所含代码/数据/模型限定用于论文复现,并说明这是不适合生产环境的研究代码,不能据此推定宽松许可。未下载或检查 1.83 GB 压缩包。附录列出的前提包括 Python 3.8、PyTorch 1.10.2、Transformers 4.22.2、PsycheC、Haskell Stack 及 AArch64 GCC 工具链。产物不再分发 BTC 权重,ChatGPT 输出也可能变化。这些是文档中的历史要求,并非已验证的安装环境;本次未运行代码或实验。

来源复核于

本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。

一手来源

  1. https://ieeexplore.ieee.org/document/10444788
  2. https://api.crossref.org/works/10.1109/CGO57630.2024.10444788
  3. https://www.research.ed.ac.uk/en/publications/slade-a-portable-small-language-model-decompiler-for-optimized-as/
  4. https://conf.researchr.org/details/cgo-2024/cgo-2024-main-conference/17/SLaDe-A-Portable-Small-Language-Model-Decompiler-for-Optimized-Assembly
  5. https://arxiv.org/abs/2305.12520
  6. https://arxiv.org/pdf/2305.12520v3
  7. https://zenodo.org/records/10205121
  8. https://zenodo.org/api/records/10205121
  9. https://zenodo.org/api/records/10205121/files/LICENSE/content