一:反编译 得到dex文件
将apk文件用压缩软件打开,可以得到classes.dex文件,如图
二:反编译dex文件
使用dex2jar反编译classes.dex得到classes_dex2jar.jar文件,如图:
命令:dex2jar.bat classes.dex 三:查看源码 使用jd-gui来查看反编译得到的源码。
即使用使用jd-gui 打开classes_dex2jar.jar ,当然反编译得到的和真正的源码还是有一定差异的,而且不一定完全正确,只能作为一个参考。
四:代码混淆
做了代码混淆的效果
可以看到代码里面的变量、函数等等都做了处理,无法确定原来的名称,这样整个代码的逻辑就很难猜到了
五:Apktool反编译apk
apktool d [apk文件 ] [输出文件夹]
apktool d 1.apk b 即将1.apk的反编译结果输出到b目录下
但是得到的代码文件是smail文件
六:未做代码混淆的效果
可以看到代码,可以很简单的理解函数逻辑,如果对APP本身业务熟练,则可很容易看懂代码,那么这个APP完全曝光给我们了。
七:Apktool回编译编译apk
apktool b [反编译得到的文件夹]
apktool b 1 即对1的反编译结果进行回编译
打包apk后的文件在目录1下,生成了两个文件夹:build、dist
|