Beyond the C: Retargetable Decompilation using Neural Machine Translation

12/17/2022
by   Iman Hosseini, et al.
0

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 in decompilation. Although such techniques hold the promise of targeting a wider range of source and assembly languages, to date they have primarily targeted C code. In this paper we argue that existing neural decompilers have achieved higher accuracy at the cost of requiring language-specific domain knowledge such as tokenizers and parsers to build an abstract syntax tree (AST) for the source language, which increases the overhead of supporting new languages. We explore a different tradeoff that, to the extent possible, treats the assembly and source languages as plain text, and show that this allows us to build a decompiler that is easily retargetable to new languages. We evaluate our prototype decompiler, Beyond The C (BTC), on Go, Fortran, OCaml, and C, and examine the impact of parameters such as tokenization and training data selection on the quality of decompilation, finding that it achieves comparable decompilation results to prior work in neural decompilation with significantly less domain knowledge. We will release our training data, trained decompilation models, and code to help encourage future research into language-agnostic decompilation.

READ FULL TEXT

page 1

page 7

research
06/11/2019

A Focus on Neural Machine Translation for African Languages

African languages are numerous, complex and low-resourced. The datasets ...
research
06/17/2019

Benchmarking Neural Machine Translation for Southern African Languages

Unlike major Western languages, most African languages are very low-reso...
research
03/24/2020

Towards Neural Machine Translation for Edoid Languages

Many Nigerian languages have relinquished their previous prestige and pu...
research
11/13/2018

Towards Neural Machine Translation for African Languages

Given that South African education is in crisis, strategies for improvem...
research
07/29/2017

Learning Language Representations for Typology Prediction

One central mystery of neural NLP is what neural models "know" about the...
research
09/11/2019

DBPal: Weak Supervision for Learning a Natural Language Interface to Databases

This paper describes DBPal, a new system to translate natural language u...
research
09/30/2018

Tree2Tree Neural Translation Model for Learning Source Code Changes

The way developers edit day-to-day code tend to be repetitive and often ...

Please sign up or login with your details

Forgot password? Click here to reset