目的:
有了混淆加固措施后,为了验证app的是否可以破解
准备工具
- ApkTool:Google提供的APK编译工具,可以反编译和回编译。
把apk改成xxx.zip然后解压,得到的资源文件,xml会乱码,.9会没划黑线。
用ApkTool反编译apk则不会出现这种情况,还可以二次打包别人的apk。
下载地址:http://ibotpeaches.github.io/Apktool/install/ - dex2jar:将dex文件转换为jar包
下载地址:https://github.com/pxb1988/dex2jar/releases - jd-gui:用来查看jar包里的代码
官方下载地址:http://jd.benow.ca/
工具使用
- APKTOOL
切换到工具的目录下,命令行执行
java -jar apktool.jar d xxx.apk
- dex2jar
首先把你要破解的apk,改后缀为.rar,提取里面的classes.dex文件,放到dex2jar目录下
切换到工具的目录下,(记得d2j-dex2jar.bat前面弄个全路径,不然不行,我这里没配置全局环境路径)命令行执行
比如:
xxxx/d2j-dex2jar.bat classes3.dex
- jd-gui
这个是直接双击,从dex2jar里面选择最终产物,进行预览
记住由于现在加固混淆措施下,这种破解方案一般看不到最终的代码的,所以不是你的错,除非还有更好的破解apk方案,这个也算是初级破解吧
碰到的问题
There are 1 methods fail to translate. ……
dex2jar去下载个最新版本没问题 https://github.com/pxb1988/dex2jar/releases
参考文章
APK反编译工具之:ApkTool + dex2jar + jd-gui
不足之处,里面的工具还不是最新的,可能会产生意想不到的结果