APK反编译技术可用于破解,去广告,分析源码等等
准备工具:
1、 APK-Multi-Tool
2、 dex2jar-0.0.7.11-SNAPSHOT
3、jd-gui
反编译:
1、运行APK-Multi-Tool工具中的Setup.bat---->生成4个文件夹
2、将要反编译的APK文件拷贝到place-apk-here-for-modding文件夹下
3、再运行Script.bat,些时将出现一个dos窗口,内容乱码
不要紧张,按下回车键,如下图所示
4、输入 24 (set current project ) 回车 ,出现一个列表,这里只有一项,因为只放了一个apk文件到place-apk-here-for-modding文件夹下
5、输入 1 ,回车,又返回到了之前的窗口,些时输入 9 (Decompail apk) 回车,进入反编译状态,等待运行结束
6、打开之前生成的projects文件夹,发现有一个test.apk文件夹,到这里反编译结束
我们来看看反编译都生成了些什么文件
资源文件都被反编译出来,打开就可以直接查看,不乱码, 其中的smail文件夹里面放的就是java源码了,包括所有依赖的jar包源码,但是都是smail文件
smail是dvm从dex解析出的更深的一种语法,dvm认识它,所以,只要用smail语法修改smail文件,再回编译成apk,就可以达到一些目的,别问我smail文件怎么打开(直接用txt打开哦),呵呵,所以剩下的就是自己去学习一下smail语法了
回编译:
修改完smail文件后,回到dos窗口,或者重新打开
1、 输入 15 (Compail /sign / install)选项,等待apk回编译完成,当然会直接帮你安装到device,如果没有连接设备,就直接按下ctrl+c结束
2、打开place-apk-here-for-modding文件夹
singedtest.apk就是重新签名后生成的apk,到这里,回编译完成
关于修改smail,可以借助以下方式来进有效的修改
1、使用dex2jar-0.0.7.11-SNAPSHOT工具中的dex2jar.bat将原apk转成jar包格式
2、回到dex2jar.bat所在目录,发现有test_dex2jar.jar生成
3.使用jd_jui工具打开这个jar包,就可以看到原apk中的java源码了,这源码只是用来参考的,不是一模一样的,通过这些源码,再对应相应的smail文件,修改起来就方便多了
以上用到的工具下载链接
1、dex2jar http://download.csdn.net/detail/jhone_csdn/8520965
2、jd-gui http://download.csdn.net/detail/jhone_csdn/8520979
3、APK-Mutil-Tool http://download.csdn.net/detail/jhone_csdn/8520919