前言:
各位同学大家好 ,相信各位都有听过或者做过安卓的反编译的 ,今天我就给大家介绍几款反编译工具反别是 apktool dex2jar jd-gui.jar 希望能帮助到大家的学习
准备工作:
分别下载
apktool 下载地址 :https://ibotpeaches.github.io/Apktool/install/
dex2jar 下载地址 : https://sourceforge.net/projects/dex2jar/
jd-gui.jar 下载地址 :http://java-decompiler.github.io/
工具的具体作用:
1、apktool.bat;apktool.jar
作用:
最大程度的还原apk中的manifest文件和资源文件 。
使用apktool工具反编译apk文件比直接解压同一个apk文件大;
还可以将反编译之后的apk重新打包成apk文件,但需要重新签名,才能安装使用。
2、dex2jar
作用:
将APK直接解压后,目录下包含的一个classes.dex文件反编译为classes-dex2jar.jar文件
3、jd-gui.jar
作用:
直接查看classes-dex2jar.jar文件。
具体使用:
一 apktool的使用
将下载好的apktool.bat与apktool.jar复制到C:\Windows目录下
如图
然后把你需要反编译的apk复制到跟apktool.bat apktool.jar 同一层目录路径下
然后我们打开cmd命令行 进入该目录下 如图
然后输入 apktool d test.apk
然后按回车键执行这个条命令 就开始反编译了·
反编译成功后我们看到多出test 文件夹就是我们反编译出来的内容
反编译出来的内容里面有smali 文件和一些资源文件以及安卓的项目清单文件 我们可以做适当的修改再进行二次打包回编译 如图
apktool回编译打包
我们还是进到刚才的apktool.bat和apktool.jar那个路径
我们输入apktool b test 这条命令进行回编译打包
按下回车键执行即可
回编译成功后的apk在test文件夹里面的dist路径下
这个回编译生成的包是没有签名的我们需要自己重新签名才能使用
我这人推荐大家使用360加固工具签名
360加固下载地址 :https://jiagu.360.cn
二 dex2jar
将dex2jar.jar解压成文件夹
将test.apk后缀名修改为.rar然后解压(.apk 也可以直接解压)
将test.apk解压后的目录下包含的classes.dex文件复制到dex2jar解压后的文件夹中
(classes.dex文件与d2j-dex2jar.bat文件同在一个目录中)
打开cmd命令编辑器
进入classes.dex文件与d2j-dex2jar.bat所在文件目录
输入命令d2j-dex2jar.bat classes.dex
此时可以看到目录中多出了classes-dex2jar.jar文件
三jd-gui
双击运行 jd-gui-1.4.0.jar 文件,
将.jar文件拖到工作区即可打开。
如果我们想要看到andorid apk里面的源代码 Java代码 我们只需要配合使用 dex2jar 和
jd-gui即可 如果我们是要修改apk包里面的部分内容我们可以使用apktool 来反编译然后回编译重新打包
生成我们想要的包
最后附上网盘整理的反编译工具资源
链接:https://pan.baidu.com/s/145vS1aC8P5FqLgfS1DfquQ 提取码:kvy8
最后总结:
安卓逆向的知识非常的复杂 涉及到去壳(加固的壳子) 反代码混淆 算法分析 我这边就不展开讲了今天 只是分享简单的反编译工具的使用 有兴趣学的的同学可以私下多多交流 ,如果觉得文章还不错麻烦给个star 和转发 谢谢