2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Android 如何反编译apk查看源码

Android 如何反编译apk查看源码

时间:2021-09-23 10:20:18

相关推荐

Android 如何反编译apk查看源码

01 所需要的软件

Apktool

反编译 xml 文件和 dex 文件,并可以将编译后的项目重新打包成 apk。

官方下载地址:Apktool

官方的速度有时候不稳定,也可以从我的网盘中下载:链接密码:xkaodex2jar

将 classes.dex 转换为「.jar」文件)

官方下载地址:dex2jar

我的网盘:链接密码:xkaojd-gui

查看「.jar」文件

官方下载地址:jd-gui

我的网盘:链接密码:xkao

02 - 1 安装 Apktool

Mac OS:

到这里或者我的网盘链接里下载好script脚本文件,修改名称「apktool」(如果从我的网盘下载,无须修改名称) 。到这里或者我的网盘链接下载apktool,然后修改名称为「apktool.jar」。把「apktool」「apktool.jar」移动到/usr/local/bin目录下

在命令行中 cd 到/usr/local/bin中然后分别输入下面两条命令

$ chmod a+x apktool.sh$ chmod a+x apktool.jar

在命令行中输入

$ apktool

02 - 2 反编译 Apk

cd 到 apk 的目录下

输入

$ apktool d test.apk

注意:

此时 dex 文件直接反编译成了smali文件,而我们需要的是 .dex 文件。

此时再运行:

$ apktool d -s -f test.apk

-d 反编译 apk 文件

-s 不反编译 dex 文件,而是将其保留

-f 如果目标文件夹存在,则删除后重新反编译

03 dex2jar

下载、解压好 dex2jar

将上一步得到的classes.dex文件(有时候还有 classes2.dex,说明方法数过多,把它当成 classes.dex 处理就好了)复制到 dex2jar 解压好的目录中。在命令行中运行:

$ sh d2j-dex2jar.sh classes.dex

如果提示:

d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied

执行

$ sudo chmod +x d2j_invoke.sh

后再次执行

$ sh d2j-dex2jar.sh classes.dex

运行成功,在当前目录下生成了classes-dex2jar.jar文件。

04 jd-gui

安装好 jd-gui 之后,用其将classes-dex2jar.jar打开,就可以看到反编译出来的 java 代码了!

link:/question/29370382

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。