一、目标
将apk文件反编译成为java文件,进行技术学习
这里我将自己的项目的一个apk进行了反编译演示,apk名称 zhouyi.apk
二、工具软件下载
这里我用的apkdb,安装正常后(具体安装过程请参考官方文档),右键菜单中会有”反编译APK“文件的选项,这里反编译后的产出就是一大堆的smail文件。文件目录自动创建为zhouyi这个目录。
但是这个.smail后缀的文件是无法阅读的还是需要继续反编译
接下来就要展示如何将这个.smail文件继续反编译为java文件
三、操作步骤
1、将zhouyi目录拷贝到 odex目录下
2、经过上一步之后zhouyi目录中会有.smali文件,再使用命令:java -jar smali.jar zhouyi/ -o zy.dex就会得到一个zy.dex文件
这个时候直接右键点击zy.dex文件,看到菜单中的“查看源码”就能看到相关的源码信息了,当然他也会同样自动生成一个zy_dex2jar.jar文件在当前目录中。
以下是手动做法,也同样有效:
3、把这个zy.dex文件考到apkdb的craining目录下,执行命令:d2j-dex2jar.bat zy.dex,便会得到zy_dex2jar.jar文件
4、zy_dex2jar.jar使用jdgui打开就可以看见java代码了
以上仅为参考作用.仅供娱乐与学习
所以最好的程序,建议采用cs结构,用webview的来远程调取才能保证代码算法的不泄露。