反编译APK上的.smali文件

2022-08-31 08:17:05

我下载了APK管理器,可以解压缩APK文件。

但它只会解压缩它,而不会将 .smali 文件反编译为.java。

是否可以将 .smali 反编译为.java?


答案 1

不会,APK管理器会将文件反编译为人类可读的xml,并将其二进制为人类可读的xml。.dex.smali.xml

序列(基于APK管理器4.9)是22选择包,然后是9来反编译它。如果按 1 而不是 9,则只需解压缩它(仅当要交换.png图像时才有用)。

没有可用于反编译回文件的工具,很可能没有任何工具。还有一种替代方法,即使用dex2jar将dex文件转换为文件,然后使用jar反编译器(例如免费的jd-gui)来纯文本java。然而,这个过程远非最佳,它不会生成工作代码,但它足够体面,能够阅读它。.java.class

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

京东:http://jd.benow.ca/

编辑:我知道在SO的某个地方有一个答案非常相似的问题......将 DEX 反编译为 Java 源代码


答案 2

有一个新的交叉平台(java)和开源工具,可以让你做到这一点,只需结帐 https://bytecodeviewer.com

enter image description here

=========

编辑:截至2017年4月,谷歌开发了一个新的开源工具,旨在完成我们一直在寻找的事情=>https://github.com/google/android-classyshark


推荐