Incremental Decompilation of Loop-Free Binary Code: Erlang

  • G. Morse Faculty of Informatics, Eötvös Loránd University, Budapest, Hungary
  • D. Lukacs Faculty of Informatics, Eötvös Loránd University, Budapest, Hungary
  • M. Toth Faculty of Informatics, Eötvös Loránd University, Budapest, Hungary

Abstract

Decompiling byte code to a human readable format is an important research field. A proper decompiler can be used to recover lost source code, helps in different reverse engineering tasks and also enhances static analyzer tools by refining the calculated static semantic information. In an era with a lot of advancement in areas such as incremental algorithms and boolean satisfiability (SAT) solvers, the question of how to properly structure a decompilation tool to function in a completely incremental manner has remained an interesting problem.



This paper presents a concise algorithm and structuring design pattern for byte code which has a loop-free representation, as is seen in the Erlang language. The algorithms presented in this paper were implemented and verified during the decompilation of the Erlang/OTP library.

Published
2018-06-19
How to Cite
MORSE, G.; LUKACS, D.; TOTH, M.. Incremental Decompilation of Loop-Free Binary Code: Erlang. Studia Universitatis Babeș-Bolyai Informatica, [S.l.], v. 63, n. 2, p. 66-87, june 2018. ISSN 2065-9601. Available at: <http://www.cs.ubbcluj.ro/~studia-i/journal/journal/article/view/29>. Date accessed: 29 nov. 2020. doi: https://doi.org/10.24193/subbi.2018.2.05.
Section
Articles