Skip to Main content Skip to Navigation
Master Thesis

Source code obfuscation by mean of evolutionary algorithms

Abstract : Usually, when talking about security, the matter is about protecting a computer from intrusions or malicious software. Software obfuscation allows to protect software from piracy by making it able to run without letting the user know its composition. To achieve this goal, distributing binaries instead of source code is not enough since debuggers and decompilers can be used to help get the secret algorithm or data structure one does not want to be known by the user. The solution would be having code that is impossible to understand for the user, but since this goal cannot be reached, the code will have to be complicated enough so that users wanting to get secret algorithms will either give up, either obtain the algorithm when it is obsolete (e.g. when a new, better version is available). Unlike regular compilation, a good obfuscated program cannot be obtained by applying a fixed sequence of transformation to the given original program. One has to find the sequence of transformations that fits the given program. In this context, the SHADOBF framework has been designed. Based on Evolutionary Algorithms (EAs), SHADOBF is used to find that sequence of transformation for any given program written in C. More precisely, extensions calculating obfuscations complexities have been added to the source-to-source compiler PIPS, obfuscating transformations were selected and the NSGA-II was implemented in order to optimize the six obfuscation complexities of programs. The conducted validations showed that using Multiple Objective Evolutionary Algorithms (MOEAs) to optimize all the obfuscation metrics gives better obfuscated programs than using single objective EAs to optimize one obfuscation metric. They also showed that considering the execution time of the program as a fitness parameter for the EAs helps obtaining an obfuscated program whose execution time is kept reasonable despite the obfuscating transformations that were applied to it.
Complete list of metadata

Cited literature [7 references]  Display  Hide  Download
Contributor : Co-Responsables Du Mri V. Gouranton Et S. Blazy Connect in order to contact the contributor
Submitted on : Friday, August 24, 2012 - 4:46:52 PM
Last modification on : Monday, June 27, 2022 - 3:07:12 AM
Long-term archiving on: : Friday, December 16, 2016 - 7:59:12 AM


  • HAL Id : dumas-00725330, version 1


Sébastien Martinez. Source code obfuscation by mean of evolutionary algorithms. Programming Languages [cs.PL]. 2012. ⟨dumas-00725330⟩



Record views


Files downloads