Abstract
Existing decompilers use rule-based algorithms to transform unstructured Control flow graph (CFG) into equivalent high-level programming language constructs with "goto" statements. One problem of such approaches is that they generate a large number of "goto"s in the output code, which reduce the readability and hinder the understanding of input binaries. A global search algorithm is proposed based on structural analysis. This algorithm restructures a CFG and generates fewer number of "goto" statements than the rule-based algorithm does. We also present a Genetic algorithm (GA) for the global search approach to locate near optimal solutions for large CFGs. Evaluation results on a set of real CFGs show that the genetic algorithm-based heuristic for global search is capable of finding high-quality solutions.
| Original language | English |
|---|---|
| Pages (from-to) | 1118-1124 |
| Number of pages | 7 |
| Journal | Chinese Journal of Electronics |
| Volume | 26 |
| Issue number | 6 |
| DOIs | |
| Publication status | Published - 10 Nov 2017 |
Keywords
- Control flow graph restructuring
- Decompiling
- Genetic algorithm (GA).
- Structural analysis
Fingerprint
Dive into the research topics of 'Control structure analysis and recovery of embedded binaries'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver