在APK上反编译.smali文件

15 浏览
0 Comments

在APK上反编译.smali文件

这个问题已经有答案了:

有没有办法从APK文件获取源代码?

我下载了APK Manager,它让我解压APK文件。

但它只解压了文件,没有将.smali文件反编译为.java文件。

是否有可能将.smali文件反编译为.java文件?

admin 更改状态以发布 2023年5月22日
0
0 Comments

现在有一款新的跨平台(java)和开源工具能够实现这一功能,只需访问https://bytecodeviewer.com

enter image description here

=========

编辑:
截至2017年4月,谷歌开发了一款新的开源工具,可以实现我们一直在寻找的功能 =>https://github.com/google/android-classyshark

0
0 Comments

不,APK Manager会反编译 .dex 文件为 .smali 和二进制的 .xml 文件,以人类可读的xml格式展示。

流程(基于APK Manager 4.9)是首先选择包(选项22),然后反编译(选项9)。如果你按1而不是9,那么你只是解压它,这在只想交换.png图像时很有用。

目前没有可用的工具可以反编译回 .java 文件,并且大概率不会有。有一种替代方法是使用dex2jar将dex文件转换为 .class 文件,然后使用jar反编译器(如免费的jd-gui)转换为纯文本Java。这个过程远非最优,但足够好以便于读取。

dex2jar: https://github.com/pxb1988/dex2jar

jd-gui: http://jd.benow.ca/

编辑: 我知道在这里的SO中有一个非常相似的答案问题... decompiling DEX into Java sourcecode

0