一句话:本文关注 C 反编译器正确性测试,旨在衡量其反编译结果重编译后是否保持原程序功能。
本文围绕 C 反编译器的反编译正确性展开测试研究。C 反编译器将 C 编译器生成的可执行文件恢复为 C 源代码,而恢复出的代码重新编译后应产生与原可执行文件功能相同的程序。经过二十多年发展,C 反编译器已广泛用于逆向工程、遗留软件迁移、安全改造与软件理解,并常作为对抗性软件利用流程的第一步;它们也是恶意软件、勒索软件分析和真实系统漏洞理解的重要组件与信任基础。论文标题表明作者希望系统检验当前 C 反编译器在正确性方面已取得的进展,但所给摘要未展开具体测试方法、基准程序、实验设计与结果。
A C decompiler converts an executable (the output from a C compiler) into source code. The recovered C source code, once recompiled, will produce an executable with the same functionality as the original executable. With over twenty years of development, C decompilers have been widely used in production to support reverse engineering applications, including legacy software migration, security retrofitting, software comprehension, and to act as the first step in launching adversarial software exploitations. As the paramount component and the trust base in numerous cybersecurity tasks, C decompilers have enabled the analysis of malware, ransomware, and promoted cybersecurity professionals’ understanding of vulnerabilities in real-world systems.
DOI 原文 ·
@inproceedings{paperbot6050,
title = {How far we have come: testing decompilation correctness of C decompilers},
author = {Zhibo Liu and Shuai Wang},
booktitle = {ISSTA},
year = {2020},
doi = {10.1145/3395363.3397370}
}