Android code obfuscation with ProGuard…how does one know it's been obfuscated?

99封情书 提交于 2019-12-09 15:49:03

问题


I have an Android project that I recently published to the market after running it through obfuscation with ProGuard.

The project exported without any complications, but how do I know it's been obfuscated? Is there anything I could do to verify that obfuscation was successful?


回答1:


Try to reverse engineer your own application. See what you can read in the code.

Use the following questions:

decompiling DEX into Java sourcecode

http://www.taranfx.com/decompile-reverse-engineer-android-apk




回答2:


Look for dump.txt, mapping.txt, seeds.txt and usage.txt. They will probably be in a proguard folder at your project directory. These are created when ProGuard is run on your code.

These are filled with information about the obfuscation, especially useful is mapping.txt which shows what ProGuard turned your various member names in to.




回答3:


DISCALIMER: I am not the owner of decompileandroid.com and I am not paid to promote it. I am a develper, who is satisfied with this service.

There is actually an easier way than acquiring several different tools and passing the output of one of them to the other (this of course gives you a better control of what's going on). You can use the service

decompileandroid.com

Basically you upload and .apk file and it does all of these steps for you. Then you can download a .zip file, which contains the decompiled sources.

You can first upload your .apk built in debug mode, then upload an .apk built in release mode. Just make sure that the flag minifyEnabled is set to true in your build.gradle file for the release build.

The difference was pretty obvious in my case - most of my classes were named a,b,c, etc in the minified build.



来源:https://stackoverflow.com/questions/7153048/android-code-obfuscation-with-proguard-how-does-one-know-its-been-obfuscated

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!