Android 反编译

本文是Android APK反编译及apktool使用教程。介绍了apktool、dex2jar、jd - gui等工具的作用,指出旧版教程已过时。详细说明了新版本apktool的下载和使用方法,还提到Smali2JavaUI软件可一步将APK转为Java源码,给出了其下载链接。

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

Android APK反编译 apktool使用教程

前言:

最近我在使用Android Studio混淆打包release版本,打包是否成功?自然想到了反编译。然后百度“apk反编译”,出来最多的是apktool反编译。百度也真是越来越水了,反正百度出来的教程都是N年前的,现在早就不能用了。很多博主也都不跟新博客了,然后随着jdk发展apktool也跟新很多代了。所有有些博主的内容,已经没法儿用了。

比如:

http://blog.youkuaiyun.com/vipzjyno1/article/details/21039349/#reply

这个博主,有些地方说得还不错。但是apktool下载版本和用法早就过时了,现在已经没法儿用了。

工具介绍:

 

apktool  

     作用:主要查看res文件下xml文件、AndroidManifest.xml和图片。(注意:如果直接解压.apk文件,xml文件打开全部是乱码)

dex2jar

     作用:将apk反编译成Java源码(classes.dex转化成jar文件)

jd-gui

     作用:查看APK中classes.dex转化成出的jar文件,即源码文件

新版本apktool用法:

1、下载:

https://ibotpeaches.github.io/Apktool/install/

 

 

当然了上面这个链接和图片描述的可能也会变。

目前就是下载两个文件apktool.bat和apktool.jar(这个如果你下载的文件有版本号,比如apktool_2.2.1.jar,就要改名字为apktool.jar),

然后把上面两个文件都放到C://Windows下面。(我是windows系统,其他系统按照自己的来)

 

2、使用方法

 

https://ibotpeaches.github.io/Apktool/#

 

官网教程

 

$ apktool d test.apk
I: Using Apktool 2.2.1 on test.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: 1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
$ apktool b test
I: Using Apktool 2.2.1 on test
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
I: Copying unknown files/dir...

其实就是,运行CMD,进入比如app-release.apk所在目录,然后运行apktool d app-release.apk就可以了,默认解压的文件就在app-release.apk所在目录。

 

 

 

 

最后,如果我上面的方法不能用了,请看英文的原网页怎么说。

 

 

 

比如:

http://blog.youkuaiyun.com/vipzjyno1/article/details/21039349/#reply

 

dex2jar

     作用:将apk反编译成Java源码(classes.dex转化成jar文件)

jd-gui

作用:查看APK中classes.dex转化成出的jar文件,即源码文件

 

Smali2JavaUI

对于博主说得,先dex2jar把classes.dex转为jar,再jd-gui把jar转为源码*.java文件。

现在可以用Smali2JavaUI这个软件,一部到位。可以把这两个步骤化为一个步骤。

 

所以,如果只想反编译看*.java文件的话,只用Smali2JavaUI软件就可以了。

这个软件可以直接打开***.apk文件,然后就直接看到*.java文件了。

Smali2JavaUI最新版本下载链接http://www.hensence.com/cn/smali2java/#Download

 

http://blog.youkuaiyun.com/ysc123shift/article/details/52985435

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值