前言
一,加壳的原理
二,壳的分类
三,脱壳实践
3.1 一代壳:frida-dexdump
安装:
pip install frida-dexdump
运行:
frida-dexdump -U -f com.jiuxianapk.ui
这里的 com.jiuxianapk.ui 就是app的包名,上面的语句相当于以spawn的形式进行运行,会重新加载app,并将app的内容加载到内存中,加载后再把里面的内容dump下来,生成dex文件。
运行命令,会在运行目录生成dex文件:运行在那个目录都可以,生成的dex文件会放在那个目录。
全选这些dex文件,直接拖到jadx中,即可完成脱壳解包。
注意:有时把dex文件拖到jadx中后,发现没有反编译出内容,原因是有些dex文件是空的或是有问题的,只需要把空的或是有问题的dex文件删除即可,如何识别那些dex文件是空或有问题呢?把dex文件挨个单个放进jadx中进行反编译,没有反编译出内容的就是有问题的。
3.2 一代壳:ArmPro
ArmPro,这是一个app,是需要收费的,大概几十元钱,通过它可以将本地的apk上传到服务器,然后返回脱壳后的结果。
拓展:在大商天狗的视频中还介绍了通过mt管理器对脱壳后的dex文件进行查/改代码的操作,以及将dex文件写回apk;