We release our set of code-obfuscation scripts tailored for Android applications. We assume that the original application can be disassembled into Smali.
$ mkdir dir_with_apks_to_obfuscate/ # fill the dir with some APKs
$ vim obfuscators/obfuscators.py
Set the obfuscator_to_apply
variable to define the list of obfuscators you
want to apply. For example:
obfuscator_to_apply = [
'Resigned',
'Alignment',
'Rebuild',
'Fields',
'Debug',
'Indirections',
'Defunct',
'StringEncrypt',
'Renaming',
'Reordering',
'Goto',
'ArithmeticBranch',
'Nop',
'Asset',
'Intercept',
'Raw',
'Resource',
'Lib',
'Restring',
'Manifest',
'Reflection']
You can choose a subset of obfuscators (recommended).
$ python obfuscators/obfuscators.py
Enjoy your obfuscated APKs.
We currently support:
Android specific
Simple control-flow modifications
Advanced control-flow modifications
Renaming
Encryption
There might be plenty of bugs. Feel free to fork and send us pull requests!
AAMO is supported by the FACE research project, under the FIRB 2013 funding program of the Italian Ministry of University and Research (grant agreement N. RBFR13AJFT).