在APK上反编译.smali文件

Bim*_*oZX 120 java android apk smali

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

但它只解包它并且不会将.smali文件反编译为.java.

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

Ale*_*dam 102

不,APK Manager.dex文件反编译.smali二进制文件.xml到人类可读的xml.

序列(基于APK Manager 4.9)是22来选择包,然后是9来反编译它.如果您按1而不是9,那么您只需将其解压缩(仅在您想要交换.png图像时有用).

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

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

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

编辑:我知道这里有一个问题,答案非常相似......将DEX反编译成Java源代码

  • JD-GUI非常接近,但还不够接近. (6认同)
  • @Aleadam你的意思是APK Manager还是APKTool?我没有在APK管理器的任何地方找到安装页面.但是,APKTool"将.dex文件反编译成.smali和二进制.xml到人类可读的xml" - 就像你说的那样. (2认同)

Gom*_*ino 28

有一个新的cross plateform(java)和开源工具,可以让你这样做,只需要结帐https://bytecodeviewer.com

在此输入图像描述

=========

编辑:截至2017年4月,谷歌开发了一个新的开源工具,这是为了做我们一直在寻找的东西=> http://classyshark.com

  • Classyshark不输出Java代码。引用描述:“它可以可靠地浏览任何Android可执行文件并显示重要信息,例如类接口和成员,dex计数和依赖项。” (2认同)

Dar*_*ryn 27

dex2jar有助于反编译你的apk而不是100%.您将遇到.smali文件的一些问题.Dex2jar无法将其转换为java.我知道一个应用程序可以反编译你的apk源文件,并没有.smali文件的问题.这是一个链接http://www.hensence.com/en/smali2java/

  • 我不知道为什么其他人是downvoting,但可能是因为链接是为了下载没有源的Windows .exe文件.任何人执行此文件都是不负责任的. (7认同)
  • 这个网站被firefox和Norton/symantac认为是恶意的,用于windows http://search.norton.com/ (2认同)
  • 下载链接已关闭. (2认同)