- 22 Jan 2025
- 1 Minute à lire
- SombreLumière
- PDF
Obfuscation mechanisms
- Mis à jour le 22 Jan 2025
- 1 Minute à lire
- SombreLumière
- PDF
The obfuscation mechanisms applied to the application include:
Renaming classes
Class names will be randomized and all resources including the AndroidManifest.xml will be updated accordingly.
Method and field name randomization
Method names and fields are randomized.
Namespace flattening
All classes will be moved into one big flat namespace which removes information about logical class grouping.
Debug information removal
Debug information such as parameter type information, source file and line number information can be removed.
Annotation removal
Java annotations can be removed. However, this may break some uses of Java Generics.
Code shuffling
Code that belongs in one class can be moved to another class, and all references to this code can be updated accordingly to the relocated piece of code. This creates new application-internal code dependencies which are confusing to an attacker but also act as an internal binding mechanism that makes it harder to remove certain parts of the code tree.
Binding
The binding mechanisms remove information from the class files which also increases obscurity of the application code.