dewolf: Improving Decompilation by leveraging User Surveys

05/13/2022
by   Steffen Enders, et al.
0

Analyzing third-party software such as malware or firmware is a crucial task for security analysts. Although various approaches for automatic analysis exist and are the subject of ongoing research, analysts often have to resort to manual static analysis to get a deep understanding of a given binary sample. Since the source code of encountered samples is rarely available, analysts regularly employ decompilers for easier and faster comprehension than analyzing a binary's disassembly. In this paper, we introduce our decompilation approach dewolf. We developed a variety of improvements over the previous academic state-of-the-art decompiler and some novel algorithms to enhance readability and comprehension, focusing on manual analysis. To evaluate our approach and to obtain a better insight into the analysts' needs, we conducted three user surveys. The results indicate that dewolf is suitable for malware comprehension and that its output quality noticeably exceeds Ghidra and Hex-Rays in certain aspects. Furthermore, our results imply that decompilers aiming at manual analysis should be highly configurable to respect individual user preferences. Additionally, future decompilers should not necessarily follow the unwritten rule to stick to the code-structure dictated by the assembly in order to produce readable output. In fact, the few cases where dewolf already cracks this rule lead to its results considerably exceeding other decompilers. We publish a prototype implementation of dewolf and all survey results on GitHub.

READ FULL TEXT

page 1

page 9

page 12

page 16

page 17

research
10/11/2022

Leveraging Artificial Intelligence on Binary Code Comprehension

Understanding binary code is an essential but complex software engineeri...
research
05/28/2020

SourceFinder: Finding Malware Source-Code from Publicly Available Repositories

Where can we find malware source code? This question is motivated by a r...
research
06/21/2014

On the Reverse Engineering of the Citadel Botnet

Citadel is an advanced information-stealing malware which targets financ...
research
08/24/2019

Precise system-wide concatic malware unpacking

Run time packing is a common approach malware use to obfuscate their pay...
research
09/25/2019

A Survey of Binary Code Similarity

Binary code similarity approaches compare two or more pieces of binary c...
research
02/01/2019

Applications of Multi-view Learning Approaches for Software Comprehension

Program comprehension concerns the ability of an individual to make an u...
research
01/29/2019

Automated Prototype for Asteroids Detection

Near Earth Asteroids (NEAs) are discovered daily, mainly by few major su...

Please sign up or login with your details

Forgot password? Click here to reset