Generating Functionally Equivalent Programs Having Non-Isomorphic Control-Flow Graphs
R\'emi G\'eraud, Mirko Koscina, Paul Lenczner, David Naccache, and David Saulpic

TL;DR
This paper introduces a method to transform programs into functionally equivalent versions with radically different control-flow graphs, enhancing obfuscation by preventing CFG-based analysis.
Contribution
It presents a novel approach to re-write code into functionally equivalent forms with non-isomorphic CFGs, advancing program obfuscation techniques.
Findings
Successfully generates non-isomorphic CFGs for equivalent programs.
Enhances resistance to CFG-based reverse engineering.
Maintains program functionality after transformation.
Abstract
One of the big challenges in program obfuscation consists in modifying not only the program's straight-line code (SLC) but also the program's control flow graph (CFG). Indeed, if only SLC is modified, the program's CFG can be extracted and analyzed. Usually, the CFG leaks a considerable amount of information on the program's structure. In this work we propose a method allowing to re-write a code P into a functionally equivalent code P' such that CFG{P} and CFG{P'} are radically different.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Security and Verification in Computing · Software Testing and Debugging Techniques
