On the Effectiveness of Source Code Transformations for Binary Obfuscation
Matias Madou,
Bertrand Anckaert,
Bruno De Bus and
Koen De Bosschere
Department of Electronics and Information Systems
Ghent University
St Pietersnieuwstraat 41
B-9000 Ghent, Belgium
Jan Cappaert and
Bart Preneel
Department of Electrical Engineering
Katholieke Universiteit of Leuven
Kasteelpark Arenberg 10
B-3001 Heverlee, Belgium
Abstract
Obfuscation is gaining momentum as a protection mechanism for the intellectual property contained within or encapsulated by software. Usually, one of the following three directions is followed: source code obfuscation is achieved through source code transformations, Java bytecode obfuscation through transformations on the bytecode, and binary obfuscation through binary rewriting. In this paper, we study the effectiveness of source code transformations for binary obfuscation. The transformations applied by several existing source code obfuscators are empirically shown to have no impact on the stripped binary after compilation. Subsequently, we study which source code transformations are robust enough to percolate through the compiler into the binary.