360加固脱壳以及一些第三方脱壳方法

前言:

普通常见的反编译模式相对来说比较简单 但对于使用了 360加固 棒棒 爱加密 等等的加固应用就没办法了、

你会发现反编译出来的dex 只有几个类 逻辑都是调用so   

真正的dex会被加载到内存中隐藏起来 加固应用都是多dex这种形式

要想拿到他真正的dex 需要进行脱壳处理  基本原理都是从内存中dump 我一般会先用工具来尝试 不行的话就得上 IDA(反汇编神器)超级强的一个工具 杀手级别 贯穿移动端 PC端的逆向 但使用IDA 进行静态分析 动态调试脱壳就变的很麻烦了 而且并不是一两天能学会的

我们今天先用工具尝试简单的脱壳

现在市场中加固apk的方式一般有两种:

第一种是对源apk整体做一个加固,放到指定位置,运行的时候再解密动态加载。

第二种是对so进行加固,在so加载内存的时候进行解密释放。

我们今天主要针对第一种加固方式进行dex文件的获取。

一、工具准备

1.一部Root过的Android手机。

2.安装Xposed模块。

下载Xposed框架:打开手机浏览器,xposed installer,点击下载。



Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。当前,Per APP Setting(为每个应用设置单独的dpi或修改权限)、XPrivacy(防止隐私泄露)、对原生Launcher替换图标等应用或功能均基于此框架。

3.安装DumpDex。(脱壳神器)

打开https://github.com/WrBug/dumpDex, 从这个页面下载APK安装包,或者直接下载源码进行编译项目到手机上。

注意在下载源码进行编译时,因为这个apk安装是没有启动页面的,所以你可能会遇到签名问题Run configuration配置问题。但都容易解决。配置问题解决方法:Run configuration中Launch Options选项选为Nothing,因为此项目是插件,没有启动页。

4.安装jadx或者jeb。(用于对dex文件进行分析)

这里提一下jeb和jadx的优势 可以直接打开apk进行反编译 而已还原效果好

jd-gui看反编译出来的jar(源码)有些代码为注释状态 显示不出来  但JEB 和jadx肯定可以全部还原

个人比较喜欢jadx看代码更加舒服,因为习惯java的格式。

jadx使用文档 可以直接打开apk dex文件,反编译神器  

JEB官网,这个是有的需要收费功能的,破解版的可以去看雪论坛工具里面找找 

二、脱壳过程

打开【Xposed Installer】App,在【模块】菜单中勾选DumpDex插件,然后重启设备

打开需要脱壳的App(此App应该已加固)。

安装一个MT文件管理器,或者re或es文件浏览器都可以,百度都能很容易搜到

打开文件浏览器,在根目录/data/data/应用包名/dump文件下,

如果脱壳成功,就可以搜索到一个或多个dump文件夹,里面就是目标dex,里面有可能有多个dex,要一个个看才知道是不是源码的dex,这个只能自己去一个个看,到底哪个是源码(系统自带文件浏览器,大多找不到root后的data目录)

三、jadx查看完整源码

上面三步是脱壳过程。如果前面已顺利得到dex文件,那么现在就要把dex发送到自己电脑上面,文件管理器有分享功能可以使用QQ传文件或者自己电脑连接手机传输,由于dex文件在root目录下, Android Studio的Device File Explorer没有copy权限,一个便捷的方法是在手机上把这些文件拷贝到外面的一些可见,这里就不多说了。

不过新版本360已经native化原DEX的onCreate中的所有指令了,还用老方法是拿不到onCreate的,所以是看不到onCreate里面的方法的,运行时有一个函数专门解析每一条DEX指令,通过jni反射执行,这里360要想进一步查看代码,还是要进行修复的,修复这个太难了,一时半会学不会,所以暂时放弃。

总结下来发现,对360加固和一些其他第三方加固等加固包都成功拿到dex文件。无论第三方加固怎么加壳,dex文件的加载到内存的时候代码肯定是要进行还原的时候,因为只要在这个时候dump出来就可以,360加固把dex加密了,总归是要解密的,解密操作有可能在dalvik模式里面的dex优化的过程,也有可能在art模式下dex2oat的过程,360就在dex2oat的过程中实现对dex解密然后编译成oat,因此通过修改dex2oat的代码编译一个新的dex2oat可以dump出解密后的dex,然后就可以分析源码了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • @author ASCE1885的 Github 简书 微博 CSDN本文由于潜在的商业目的,不开放全文转载许可...
    asce1885阅读 29,799评论 9 70
  • 本文转载自:http://www.mottoin.com/89035.html 目录 简述(脱壳前学习的知识、壳的...
    NeWolf阅读 16,648评论 0 10
  • 是否有那么一个地方,你不曾来过,初次邂逅却有阔别经年之感。那里的一草一木,一尘一土,都在梦里呈现,带着一种隔世的陌...
    TYM麦芽糖阅读 3,720评论 2 1
  • 作为一个北漂的单身狗,过年总是喜忧参半的。工作了一年了,还是很想回家看看的,但是回家后遇到各种盘问就又免不了忧愁。...
    萧寒之阅读 3,800评论 0 0
  • 今天参与了小目标的“时间记录”活动。对卡片的内容很是喜欢,专注、努力,随着时间推移,终有一天会有成功。 对每日计划...
    wendy楼阅读 1,774评论 0 0