前言
不少APP开发人员为了APP的安全着想,都会给其增加防护措施,而加壳便是最方便或者是最简单那的一种加固方式了。最常见的加固厂商有:360加固、梆梆加固、腾讯加固..等。所以我们不得不需要学习一些脱壳的知识。
“drizzleDumper的具体原理是基于附加目标程序,寻找内存段具备dex文件头部信息进行dump的操作。这个思路也是非常好的。我们也知道dex的长度是保存在头部信息中的,所以只要在内存段中找到dex的头部信息,然后解析长度,有了起始地址和长度,那么就可以获取内存中的完整dex文件了” ——以上来自网络
下载:https://github.com/DrizzleRisk/drizzleDumper
使用
1.将下载后的drizzleDumper下载并将其放在模拟器的 \data\local\tmp 文件夹下。
这里只简单说明蓝叠模拟器的操作方法。(其他模拟器例如夜神,都有一个共享文件夹比蓝叠更方便,我之所以使用蓝叠是因为目标APK并不兼容夜神模拟器。)
①系统应用——>②多媒体管理器——>③点击import From Windows
导入后在/sdcard/DCIM/SharedFolder 文件夹下就可以看到,接下来将其移到 \data\local\tmp 文件夹下并赋予777权限(赋予全部权限)即可。
2.将APP在模拟器内安装,然后打开“终端模拟器”(自行在应用市场或网络下载)。
输入指令:
① su //获取root权限
② cd /data/local/tmp //进入指定文件夹
③ ./drizzleDumper com.xxx.xxx //执行脱壳操作
第三句指令中,“./”后面的是我们放到/tmp文件夹中的脱壳程序名称,意思是执行这个程序。而后面的“com.xxx.xxx”是我们的目标APP的包名。 接下来回车即可。
3.打开目标APP应用,坐等脱壳程序将加固的dex脱离出来
这个时候dex已经脱离出来了,接下来将dex文件导出到Windows中,并替换目标app下的clessas.dex即可进行反编译了。
蓝叠模拟器的导出:
将文件移到sdcard文件夹下的随便一个文件夹,然后打开多媒体管理器的explore并选中指定文件,再点击export to windows。