反编译工具:

apktool.bat

apktool.jar

运行环境:

window 10

第一步:

先下载工具,并解压。我放到了F盘的根目录,文件名为apktool。即: F:/apktool

下载地址:apktool 下载

android Apk 反编译之反编译.apk文件

第二步:

将需要反编译的apk文件,复制到该目录下。例如 demo.apk

android Apk 反编译之反编译.apk文件

第三步:

打开cmd,并定位到 apktool 文件夹下

android Apk 反编译之反编译.apk文件

执行命令 :apktool d demo.apk   (注:demo  :.apk 名称)

d 即 decode,对demo.apk 文件进行解码

其他命令:

-f  如果目标文件夹已存在,则强制删除现有文件夹(默认如果目标文件夹已存在,则解码失败)。

-o  指定解码目标文件夹的名称(默认使用APK文件的名字来命名目标文件夹)。

-s  不反编译dex文件,也就是说classes.dex文件会被保留(默认会将dex文件解码成smali文件)。

-r  不反编译资源文件,也就是说resources.arsc文件会被保留(默认会将resources.arsc解码成具体的资源文件)

执行完命令之后,会显示如下效果:

android Apk 反编译之反编译.apk文件

然后后会在该目录下生成demo 文件夹:

android Apk 反编译之反编译.apk文件

到这里反编译就结束成功。

接下来简单分析一下生成的文件目录:

android Apk 反编译之反编译.apk文件

lib : 即包目录,存放so 库

original:原始的AndroidManifest.xml文件,

res: 存放的资源文件

smail: 即代码文件,查看apk代码,从这里入手。文件已 .smail 结尾。内部是 smail 汇编语言

想要学习smail 语言,可以比较着学习,即,将java文件转为 smail文件。

可以参考:android Studio javaTosmial : https://blog.csdn.net/lijia1201900857/article/details/85775374

 

反编译完成之后,就可以根据你的需求对代码进行修改了,修改完成之后,还需要对修改的文件,回编译成apk文件

请看下节:反编译之回编译

相关文章:

猜你喜欢
相关资源
相似解决方案