English
Related papers

Related papers: Improving type information inferred by decompilers…

200 papers

Recovering high-level type information in binaries is a key task in reverse engineering and binary analysis. Binaries contain very little explicit type information. The structure of binary code is incredibly flexible allowing for ad-hoc…

Programming Languages · Computer Science 2024-09-04 Ian Smith

Decompilation transforms low-level program languages (PL) (e.g., binary code) into high-level PLs (e.g., C/C++). It has been widely used when analysts perform security analysis on software (systems) whose source code is unavailable, such as…

Cryptography and Security · Computer Science 2022-01-03 Ruigang Liang , Ying Cao , Peiwei Hu , Jinwen He , Kai Chen

The problem of reversing the compilation process, decompilation, is an important tool in reverse engineering of computer software. Recently, researchers have proposed using techniques from neural machine translation to automate the process…

Cryptography and Security · Computer Science 2022-12-20 Iman Hosseini , Brendan Dolan-Gavitt

Binary decompilation aims to recover binaries into high-level source code, but existing evaluations mainly rely on syntactic similarity or single-axis readability metrics, which fail to capture practical reusability. We propose a…

Software Engineering · Computer Science 2026-05-29 Puzhuo Liu , Yuhan Huang , Jianlei Chi , Peng Di , Yu Jiang

Decompilation, the process of converting machine-level code into readable source code, plays a critical role in reverse engineering. Given that the main purpose of decompilation is to facilitate code comprehension in scenarios where the…

Software Engineering · Computer Science 2024-10-01 Ruixin Qin , Yifan Xiong , Yifei Lu , Minxue Pan

In this paper, we present a software compilation approach for microprocessor/FPGA platforms that partitions a software binary onto custom hardware implemented in the FPGA. Our approach imposes less restrictions on software tool flow than…

Software Engineering · Computer Science 2011-11-09 Greg Stitt , Frank Vahid

Binary code analysis plays a pivotal role in the field of software security and is widely used in tasks such as software maintenance, malware detection, software vulnerability discovery, patch analysis, etc. However, unlike source code,…

Software Engineering · Computer Science 2025-05-01 Xiuwei Shang , Zhenkan Fu , Shaoyin Cheng , Guoqiang Chen , Gangyang Li , Li Hu , Weiming Zhang , Nenghai Yu

The decompiler is one of the most common tools for examining binaries without corresponding source code. It transforms binaries into high-level code, reversing the compilation process. Decompilers can reconstruct much of the information…

Software Engineering · Computer Science 2019-10-04 Jeremy Lacomis , Pengcheng Yin , Edward J. Schwartz , Miltiadis Allamanis , Claire Le Goues , Graham Neubig , Bogdan Vasilescu

A transcompiler, also known as source-to-source translator, is a system that converts source code from a high-level programming language (such as C++ or Python) to another. Transcompilers are primarily used for interoperability, and to port…

Computation and Language · Computer Science 2020-09-23 Marie-Anne Lachaux , Baptiste Roziere , Lowik Chanussot , Guillaume Lample

Backtracking (i.e., reverse execution) helps the user of a debugger to naturally think backwards along the execution path of a program, and thinking backwards makes it easy to locate the origin of a bug. So far backtracking has been…

Programming Languages · Computer Science 2013-09-23 Jooyong Yi

Decompilation transforms compiled code back into a high-level programming language for analysis when source code is unavailable. Previous work has primarily focused on enhancing decompilation performance by increasing the scale of model…

Software Engineering · Computer Science 2024-10-04 Yunlong Feng , Dechuan Teng , Yang Xu , Honglin Mu , Xiao Xu , Libo Qin , Qingfu Zhu , Wanxiang Che

Decompilation -- recovering source code from compiled binaries -- is essential for security analysis, malware reverse engineering, and legacy software maintenance. However, existing decompilers produce code that often fails to compile or…

Software Engineering · Computer Science 2026-05-05 Yifan Zhang , Xiaohan Wang , Yueke Zhang , Yu Huang , Kevin Leach

The software compilation process has a tendency to obscure the original design of the system and makes it difficult both to identify individual components and discern their purpose simply by examining the resulting binary code. Although…

Cryptography and Security · Computer Science 2025-03-07 Sima Arasteh , Pegah Jandaghi , Nicolaas Weideman , Dennis Perepech , Mukund Raghothaman , Christophe Hauser , Luis Garcia

A binary's behavior is greatly influenced by how the compiler builds its source code. Although most compiler configuration details are abstracted away during compilation, recovering them is useful for reverse engineering and program…

Machine Learning · Computer Science 2023-05-09 Jason Kim , Daniel Genkin , Kevin Leach

Decompilers are widely used by security researchers and developers to reverse engineer executable code. While modern decompilers are adept at recovering instructions, control flow, and function boundaries, some useful information from the…

Cryptography and Security · Computer Science 2024-07-04 Harrison Green , Edward J. Schwartz , Claire Le Goues , Bogdan Vasilescu

Neural language models are increasingly deployed into APIs and websites that allow a user to pass in a prompt and receive generated text. Many of these systems do not reveal generation parameters. In this paper, we present methods to…

Machine Learning · Computer Science 2023-09-12 Daphne Ippolito , Nicholas Carlini , Katherine Lee , Milad Nasr , Yun William Yu

Code decompilation analysis is a fundamental yet challenging task in malware reverse engineering, particularly due to the pervasive use of sophisticated obfuscation techniques. Although recent large language models (LLMs) have shown promise…

Cryptography and Security · Computer Science 2026-04-08 Hamed Jelodar , Samita Bai , Tochukwu Emmanuel Nwankwo , Parisa Hamedi , Mohammad Meymani , Roozbeh Razavi-Far , Ali A. Ghorbani

Binary analysis is a core component of many critical security tasks, including reverse engineering, malware analysis, and vulnerability detection. Manual analysis is often time-consuming, but identifying commonly-used or previously-seen…

Machine Learning · Computer Science 2024-10-31 Rebecca Saul , Chang Liu , Noah Fleischmann , Richard Zak , Kristopher Micinski , Edward Raff , James Holt

WebAssembly is a low-level bytecode language designed for client-side execution in web browsers. The need for decompilation techniques that recover high-level source code from WASM binaries has grown as WASM continues to gain widespread…

Software Engineering · Computer Science 2024-11-05 Wei-Cheng Wu , Yutian Yan , Hallgrimur David Egilsson , David Park , Steven Chan , Christophe Hauser , Weihang Wang

Visual programming, a modular and generalizable paradigm, integrates different modules and Python operators to solve various vision-language tasks. Unlike end-to-end models that need task-specific data, it advances in performing visual…

Computer Vision and Pattern Recognition · Computer Science 2024-08-06 Minghe Gao , Juncheng Li , Hao Fei , Liang Pang , Wei Ji , Guoming Wang , Zheqi Lv , Wenqiao Zhang , Siliang Tang , Yueting Zhuang