android APK反编译及代码混淆
反编译、查看源代码,需要用到两个工具:dex2jar 和 jdgui
dex2jar(google code)
操作很简单,步骤如下:
1.将APK(如GuessStock.apk)拷到dex2jar目录下,cmd下执行:
C:\Users\raozf\Desktop\dex2jar-0.0.9.15>d2j-dex2jar.bat GuessStock.apk
dex2jar GuessStock.apk -> GuessStock-dex2jar.jar
将得到GuessStock-dex2jar.jar
2. jdgui打开该文件即可查看源码。
更多可参看:http://blog.csdn.net/ithomer/article/details/6727581
我通过该方法反编译了一些流行的APP,除了搜狗输入法反编译失败外,百度地图、QQ浏览器、手机QQ、优酷、酷我等都成功了。
看了一下他们的代码,有些代码做了混淆处理(百度地图、手机QQ),有些似乎处理的不怎么干净(优酷、酷我)--类名、方法名、变量名甚至token都可以看到,当然也许是不太重要的代码。总之比较奇怪。