DEV Community


Posted on

Facebook launches a new decompilation tool

Facebook launched a new decompilation tool which converts program in assembly language to C++. The name of the decompilation tool is N-Bref. To know more about this tool read the Facebook AI blog.

The link to paper explaining about the tool is here. The Github repository of N-Bref explains about the implementation of the tool along with datasets.

What are decompilers?

According to the Facebook AI blog

Decompilers convert low-level executable code, like assembly instructions, back to a high-level programming language, like C++, that is easier for people to read. They’re useful for detecting vulnerabilities and anomalies in computer security as well as for forensics. Decompilers can also be leveraged to find potential viruses, debug programs, translate obsolete code, recover lost source code, and more. A decompiler program is traditionally manually designed with heuristics from human experts.

Machine learning has made the process of decompilation a bit easier and N-Bref achieves state-of-the-art results for this tedious task. Transformers are used as the basic building block of this decompilation tool and it is repurposed for this specific purpose. Normally transformers are used for Neural Machine Translation but in this case they are used for converting code in one language to other.

Discussion (0)