Android 反编译 apktool+dex2jar+jd-gui

本文详细介绍安卓应用的反编译过程,包括使用apktool、dex2jar等工具下载及配置,实现APK文件的解包、.dex文件转换为.jar文件的方法,并探讨了面对混淆代码时的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工具下载

apktool 官网下载 百度网盘分享 密码:xxt7

dex2jar 官网下载 百度网盘分享  密码:u2td

jd-gui 官网下载 百度网盘分享 密码:vey1

下载完成后直接解压的文件夹就可以了

 

简单反包

先随便下载个Apk 

winds+R然后在弹出的窗口输入cmd命令 回车进入

通过cd命令 切换到apktool.bat和apktool.jar所在的文件夹

当然你也可以通过配置系统环境变量这样就不用切换到目录下了,这里我就先不提了

然后执行

apktool.bat d -s

命令 后面加你要反编译的Apk包 -s的用处是阻止命令把 dex解析成smali文件 这里我需要dex文件就加上了

C:\Users\Administrator>D:

D:\>cd D:\Android 反包工具\apktools

D:\Android 反包工具\apktools>apktool.bat d -s "D:\Android apk\Test.apk"
I: Using Apktool 2.3.4 on Test.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
S: WARNING: Could not write to (C:\Users\Administrator\AppData\Local\apktool\framework), using C:\Users\ADMINI~1\AppData\Local\Temp\ instead...
S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable
I: Loading resource table from file: C:\Users\ADMINI~1\AppData\Local\Temp\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Copying raw classes.dex file...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

D:\Android 反包工具\apktools>

这样就是编译完成了,然后你在apktool.bat所在的文件夹下就能够看到生成了一个为Apk名称的文件夹 我这里就是Test文件夹了这就是编译的东西。

打开Test文件可以看到这样的内容,这里我就先讲.dex文件 

简单说 .dex文件就是源码在的地方我们主要就是看它这里只打包了一个.dex文件 看来方法比较少方法多的话会打包好几个dex文件。

接下来将dex文件转成jar文件,然后就可以用jd-gui打开查看转成的 jar文件是在 d2j-dex2jar.bat所在的文件夹下

D:\>cd D:\Android 反包工具\dex2jar-2.0

D:\Android 反包工具\dex2jar-2.0>d2j-dex2jar.bat "D:\Android 反包工具\apktools\Test\classes.dex"

是不是看到你熟悉的Java包了呢

Smali

有时候你会发现dex包转化成jar包错误,中途出现了问题用jd-gui打开看时候发现有些是a,b,c,d或者不能看的字符乱码。

那可能能apk的开发人员做了一些工作,比如混淆。

怎么生成smali文件:在执行apktool命令时候 不加-s 那么apktools命令会自动把dex解析成smali文件。

当然也可以用d2j-dex2smali.bat将 dex转成smail文件。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值