Android 反编译工具的各种用法

前言:

各位同学大家好 ,相信各位都有听过或者做过安卓的反编译的 ,今天我就给大家介绍几款反编译工具反别是 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目录下
如图
Android 反编译工具的各种用法_第1张图片
然后把你需要反编译的apk复制到跟apktool.bat apktool.jar 同一层目录路径下
然后我们打开cmd命令行 进入该目录下 如图
Android 反编译工具的各种用法_第2张图片
然后输入 apktool d test.apk
Android 反编译工具的各种用法_第3张图片
然后按回车键执行这个条命令 就开始反编译了·
Android 反编译工具的各种用法_第4张图片
反编译成功后我们看到多出test 文件夹就是我们反编译出来的内容
反编译出来的内容里面有smali 文件和一些资源文件以及安卓的项目清单文件 我们可以做适当的修改再进行二次打包回编译 如图
Android 反编译工具的各种用法_第5张图片

apktool回编译打包

我们还是进到刚才的apktool.bat和apktool.jar那个路径
Android 反编译工具的各种用法_第6张图片
我们输入apktool b test 这条命令进行回编译打包
Android 反编译工具的各种用法_第7张图片
按下回车键执行即可
Android 反编译工具的各种用法_第8张图片
回编译成功后的apk在test文件夹里面的dist路径下
Android 反编译工具的各种用法_第9张图片
Android 反编译工具的各种用法_第10张图片
这个回编译生成的包是没有签名的我们需要自己重新签名才能使用
我这人推荐大家使用360加固工具签名

360加固下载地址 :https://jiagu.360.cn

Android 反编译工具的各种用法_第11张图片

二 dex2jar

将dex2jar.jar解压成文件夹
将test.apk后缀名修改为.rar然后解压(.apk 也可以直接解压)
将test.apk解压后的目录下包含的classes.dex文件复制到dex2jar解压后的文件夹中
(classes.dex文件与d2j-dex2jar.bat文件同在一个目录中)
Android 反编译工具的各种用法_第12张图片
打开cmd命令编辑器
进入classes.dex文件与d2j-dex2jar.bat所在文件目录
输入命令d2j-dex2jar.bat classes.dex
Android 反编译工具的各种用法_第13张图片
此时可以看到目录中多出了classes-dex2jar.jar文件
Android 反编译工具的各种用法_第14张图片

三jd-gui

双击运行 jd-gui-1.4.0.jar 文件,
将.jar文件拖到工作区即可打开。
Android 反编译工具的各种用法_第15张图片
如果我们想要看到andorid apk里面的源代码 Java代码 我们只需要配合使用 dex2jar 和
jd-gui即可 如果我们是要修改apk包里面的部分内容我们可以使用apktool 来反编译然后回编译重新打包
生成我们想要的包

最后总结:

安卓逆向的知识非常的复杂 涉及到去壳(加固的壳子) 反代码混淆 算法分析 我这边就不展开讲了今天 只是分享简单的反编译工具的使用 有兴趣学的的同学可以私下多多交流 ,如果觉得文章还不错麻烦给个star 和转发 谢谢 (个人qq/微信:1693891473)

你可能感兴趣的:(android,反编译,apktool)