How does DexGuard encrypt classes?

前端 未结 3 432
温柔的废话
温柔的废话 2020-12-13 14:11

I want to check how DexGuard works but it seems that it doesn\'t have a free trial version.

Can DexGuard encrypt an Android application? Or does it simply obfuscate

3条回答
  •  鱼传尺愫
    2020-12-13 14:36

    DexGuard in old version using “DES” Alg to encrypt specified class. Later it change "AES" alg. After encrypt Specified class, it store the encrypte data into another class via data array format with decryption method. The decryption method that is static block in Dex is clinit format method which obfuscated using control flow obfuscation and API hiding. So it is a little bit to deobfuscate the decryption method. In other classes , reference the specified class change to reflection opcode. Every time the APK runs, the encrypted class will be decrypted in static method first. And the decrypted classes will be load into dvm memory using reflection API. so other class can reference the specified class properly. That's it. In my opinion, DexGuard is very powerful obfuscation tool. If each feature obfuscations apply to APK, it will cost you a lot of time to reverse the whole real program.

提交回复
热议问题