paper-with-me

Papers

A Neural-based Program Decompiler

2019-06-28 · Cheng Fu, Huili Chen, Haolan Liu, Xinyun Chen, Yuandong Tian, Farinaz Koushanfar, Jishen Zhao

Reverse engineering of binary executables is a critical problem in the computer security domain. On the one hand, malicious parties may recover interpretable source codes from the software products to gain commercial advantages. On the other hand, binary decompilation can be leveraged for code vulnerability analysis and malware detection. However, efficient binary decompilation is challenging. Conventional decompilers have the following major limitations: (i) they are only applicable to specific source-target language pair, hence incurs undesired development cost for new language tasks; (ii) their output high-level code cannot effectively preserve the correct functionality of the input binary; (iii) their output program does not capture the semantics of the input and the reversed program is hard to interpret. To address the above problems, we propose Coda, the first end-to-end neural-based framework for code decompilation. Coda decomposes the decompilation task into two key phases: First, Coda employs an instruction type-aware encoder and a tree decoder for generating an abstract syntax tree (AST) with attention feeding during the code sketch generation stage. Second, Coda then updates the code sketch using an iterative error correction machine guided by an ensembled neural error predictor. By finding a good approximate candidate and then fixing it towards perfect, Coda achieves superior performance compared to baseline approaches. We assess Coda's performance with extensive experiments on various benchmarks. Evaluation results show that Coda achieves an average of 82\% program recovery accuracy on unseen binary samples, where the state-of-the-art decompilers yield 0\% accuracy. Furthermore, Coda outperforms the sequence-to-sequence model with attention by a margin of 70\% program accuracy.

📄 PDF Abstract BibTeX arXiv:1906.12029

Code (0)

등록된 구현이 없습니다.

Tasks

Computer SecurityMalware Detection

Similar Papers 제목 키워드 기반

Improving type information inferred by decompilers with supervised machine learning

2021-01-19 · Javier Escalada, Ted Scully, Francisco Ortin

In software reverse engineering, decompilation is the process of recovering source code from binary files. Decompilers are used when it is necessary to understand or analyze software for which the source code is not avai…

BIG-bench Machine LearningVocal Bursts Type Prediction

N-Bref : A High-fidelity Decompiler Exploiting Programming Structures

2021-01-01 · Cheng Fu, Kunlin Yang, Xinyun Chen, Yuandong Tian 외

In software development, decompilation aims to reverse engineer binary executables. With the success of neural machine translation (NMT), recent efforts on neural-based decompiler show promising results compared to tradi…

Code GenerationDecoderMachine TranslationNMT+1

Multi-View Decompilation for LLM-Based Malware Classification

2026-06-18 · Bercan Turkmen, Vyas Raina arxiv

Malware analysts often inspect compiled binaries through decompiled pseudo-C, when source code is unavailable. Recent work suggests that large language models (LLMs) can assist this process by classifying decompiled code…

Malware Classification

Towards Neural Decompilation

2019-05-20 · Omer Katz, Yuval Olshaker, Yoav Goldberg, Eran Yahav

We address the problem of automatic decompilation, converting a program in low-level representation back to a higher-level human-readable programming language. The problem of decompilation is extremely important for secu…

C++ codeMachine TranslationTranslation

DecompileBench: A Comprehensive Benchmark for Evaluating Decompilers in Real-World Scenarios

2025-05-16 · Zeyu Gao, Yuxin Cui, Hao Wang, Siliang Qin 외

Decompilers are fundamental tools for critical security tasks, from vulnerability discovery to malware analysis, yet their evaluation remains fragmented. Existing approaches primarily focus on syntactic correctness throu…

Malware Analysis