Code obfuscation in Android apps
Code obfuscation is a process of modifying the code to protect intellectual property and to make it difficult to reverse engineer. Code obfuscation only modifies the method instructions or metadata; it does not change the logic/flow or the output of the code operation.
Android malware is also known to utilize obfuscation techniques to hide its malicious behavior. However, obfuscation can also be defeated. A skilled reverse engineer would be able to defy the obfuscation techniques implemented and still find the interesting bits in the application code.
Developers may use the default obfuscation tool ProGuard, available in Android Studio, or also use a third-party obfuscation tool available in the market. Depending upon the type of obfuscation used, the de-obfuscation technique should be changed. ProGuard is an open source command-line tool that can be used to obfuscate Java code.
One of the ways to de-obfuscate the DEX bytecode is by identifying...