论文
Decaf:通过自动反馈和搜索改进神经反编译
Decaf: Improving Neural Decompilation with Automatic Feedback and Search
摘要
反编译器是逆向工程中用于理解编译后的源代码的有用工具。从编译的二进制文件重建源代码是一项具有挑战性的任务,因为当编译器将人类可读的代码转换为低级机器代码时,高级语法、标识符和自定义数据类型通常会丢失。确定性反编译器是二进制分析的有用工具,但很难推断惯用语法和标识符名称。生成式人工智能模型非常适合重建高级语法、标识符和类型,但它们仍然可能因产生不正确的编程结构和语义而受到影响。我们认为,编译器反馈可以通过搜索来显着提高神经反编译器输出的语义正确性,而不是尝试通过更多数据和更多训练来改进神经反编译器。我们的系统 Decaf(DECompilation with Automated Feedback)将神经反编译率从 ExeBench 上的 26.0% 提高到 Real -O2 split 上的 83.9%,而不牺牲与原始源代码的相似性。我们还发现我们的自动反馈方法对于改进较弱的神经反编译模型非常有效。