Android App反编译之脱壳笔记(一)。

由于最近在学习反编译相关的过程中,通过AndroidKiller发现使用了一些第三方安全软件的加壳处理后的apk反编译失败,在此记录下apk脱壳的全过程与各种坑。
众所周知,Android应用开发完成后,除了使用Google官方的混淆外,还需要使用一些第三方的安全软件的加壳处理,比较出名的有腾讯乐固、360加固等。
目前脱壳主要使用以下2种方式:(drizzleDumper和FDex2工具)
1.脱壳神器drizzleDumper工具,这个工具是开源的,大家想看源码可以去下载:https://github.com/DrizzleRisk/drizzleDumper;当然这个工具网上有人已经分析了原理,这里就大致在说一下,他的原理就是:root设备之后,通过ptrace附加需要脱壳的apk进程,然后在脱壳的apk进程的内存中进行dex文件的特征搜索,当搜索到dex文件时,进行dex文件的内存dump。根据测试发现对最新的加固方式统统无效,这里就很尴尬了。

流程如下:
1.将drizzleDumper push到/data/local/tmp目录下,adb 命令如下:adb push drizzleDumper /data/local/tmp;

  1. 给drizzleDumper 超级权限,命令如下:adb shell chmod 0777 /data/local/tmp/drizzleDumper;
    3.进入android系统的shell 获取root权限,最后执行脱壳操作,./data/local/tmp/drizzleDumper/x86/drizzleDumper com.xxx.xxx。
    最后通过MT管理器来查看脱壳的dex。

你可能感兴趣的:(Android App反编译之脱壳笔记(一)。)