Smali反编译Java文件

我们在开发 安卓中,有时需要对其他apk文件进行反编译,以便我们方便进行学习交流研究使用。

我们使用 Android SDK 默认生成的工程会自动添加一些类到我们的工程中。这些类在程序发布后会仍然保留在apk 文件中。

我们对其进行反编译后 可以发现 会有Smali后缀名的文件。我们怎么对他进行反编译城Java文件,并让我们看懂呢?下面进行一下简单介绍:

使用的到工具:
smali.jar, ApkToolKit工具,jd-gui工具(文下附下载链接):

首先我们找到我们的activity.smali和smali.jar文件(activity.smali文件):Smali反编译Java文件_第1张图片

打开cmd:执行命令:
C:\Users\Administrator>java -jar C:\Users\Administrator\Desktop\smali.jar -o cle
sses.dex C:\Users\Administrator\Desktop\activity.smali

Smali反编译Java文件_第2张图片

生成clesses.dex文件:
Smali反编译Java文件_第3张图片

将文件 拖入:ApkToolKit中:
Smali反编译Java文件_第4张图片

点击dex转jar 这时会生成一个jar文件:
Smali反编译Java文件_第5张图片

打开jd-gui:

将我们生成的jar文件拖拽过去:

效果如图:
就会产生我们可以看得懂的Java代码了:
Smali反编译Java文件_第6张图片

这样整个转换过程就完成了。

软件下载链接:
http://download.csdn.net/detail/u013233097/9503683

你可能感兴趣的:(android,反编译,逆向工程,smali2java)