360二代加固脱壳方法总结

二代加固的难度有所增加,最明显的地方就是qihoo下面增加了一个Configuration.smali文件。由以前的一个增加为两个。
脱壳时有几个关键的so:
1.libc.so(主要是提供一些系统函数,比如open、fopen、fget等等);
2.libdvm.so/libart.so(主要是Android中的系统so,也是重要的Android虚拟机中的重要的so,由于Android有java层面要跟本地层进行交互时,因此这里面的很多系统函数很重要,比如libdvm.so中的dvmdexfileopen()函数或者libart.so中的java中的javavmextloadnative()函数,都是脱壳时候的重要把握的函数);
3.libjiagu.so(我们简称为壳so,这里主要是指的是360壳的so,就是反调试什么的都在这里面,反调试函数肯定是要用到很多libc.so提供的系统函数,因此可以看到在调试反调试的时候,总是libjiagu.so跟libc.so在进行不断的交互);
4.libXX.so就是目标的so文件,也就是我们应用级别的so;
其实脱壳就是这几个so文件,从头走到尾的过程,只有走到应用级别的so,那么就很容易dump处想要的so。

因此一个过程就是:

libc.so--->libart.so/libdvm.so--->libjiagu.so--->libXX.so

对于过反调试有很多的方法:
1.我们对于cmp R0,0;运行到这个地方进行一个个的修改;
2.对于反调试的子函数我们进行NOP或者加一些mov r0,#0 ret,也就是00 00 A0 E3、 0E F0 A0 E1这样的说明;
3.或者对于某些反调试,比如不断的检测Tracepid,这时候就不能手动过掉,修改系统内核对于内核中比如检测Tracepid的地方进行修改,那么加固中的反调试是不是就起不到作用了。
参考:http://mp.weixin.qq.com/s/v_3o8XJ0u5F-euCv9lY2TQ

方法一:IDA手动脱壳:(在mmap函数处下端)
此时注意APK附加上以后,重新勾选三项,因为此处的反调试放的更早了,等你直接运行到mmap函数的时候已经迟了,所以从linker处进行下端点然后进行加载分析。

方法二:IDA手动脱壳:(Dalvik模式下在memcmp处进行下端)
手动脱壳:
静动态进行结合:
先静态观察然后结合动态去观察寻找反调试点
第一步:就是在JNI_Onload处dump处so并修复。可以看到一个调用函数关系图,特别是反调试中所用到的关键的函数的一个关系图。
第二步:就是由于反调试一般在JNI_Onload处,所以这时候,可能会调用open或者fopen进行打开,在open处进行下端点,F9执行;
第三步:(最关键的一步)ctrl+F7与F9交替进行出现在反调试最上层的调用处,然后过掉;
第四步:继续F9,ctrl+F7,F9进行交替走到反调试的函数处,这时候采用以上反调试的第二点弄点反调试函数;
第五步:在memcmp函数进行下断点,一直F9,去掉断点,然后F9;
第六步:运行到memcmp处,然后F9,观察R0 HEX窗口;
第七步:dump出来进行分析;

方法三:IDA手动脱壳:(ART模式下)
此处略过;


方法四:drizzleDump,自动脱壳机

原理:一款基于内存特征搜索的dex文件dump脱壳工具,drizzleDumper工作的原理是root环境下,通过ptrace附加需要脱壳的apk进程,然后在脱壳的apk进程的内存中进行dex文件的特征搜索,当搜索到dex文件时,进行dex文件的内存dump。

(0)

相关推荐

  • IDA Pro安装目录的基本结构

    IDA Pro 目录结构 在使用IDA之前,你不一定需要熟悉IDA安装目录的结构.但是,既然现在讨论的主题是安装IDA ,还是初步了解一下安装目录的基本结构.下面简要介绍IDA安装目录中的各个子目录. ...

  • 萌新带你开车上p站(终极番外)

    0x01前言 这关其实和pwn关系不大,主要考察的都是linux下一些函数的操作,考察linux的基本功.涉及到的知识点包括一些经典的函数原型.IO重定向.文件描述符.管道.环境变量.socket编程 ...

  • 每日一小物

    每日一小物

  • 特别的小花

    特别的小花

  • 桥梁的56个加固技术方法,图文并茂,超级实用!

    来源:筑龙论坛 桥梁改建可以减少开主体发商的初期投资费用(包括拆迁费.土建费等).缩短建设周期,体现较高的经济价值.目前桥梁加固设计与计算方面的研究还相对滞后,有些方面甚至连公认的算法都没有,使设计者 ...

  • 桥梁病害及加固设计方法图解

    来源:筑龙论坛 桥梁工程同新建相比,改建可节省大部分资金.合理利用原有主体结构,改变功能配置.改善空间质量.扩大功能空间等,可以减少开发商的初期投资费用(包括拆迁费.土建费等).缩短建设周期,体现较高 ...

  • 桥梁病害及加固设计方法超强图文详解,设计师和工程师都收藏了!

    素材来源:筑龙论坛 桥梁工程同新建相比,改建可节省大部分资金.合理利用原有主体结构,改变功能配置.改善空间质量.扩大功能空间等,可以减少开发商的初期投资费用(包括拆迁费.土建费等).缩短建设周期,体现 ...

  • 设计师们注意了,高速下载360云盘文件方法:亲测有效!

    --- " 关注CG窝  帮助您成长"  --- ◆  ◆  ◆ 近日:"360云盘宣布停止个人云盘服务". 瞬间小编心里的感觉是这样的! 觉得这么大的事件必须 ...

  • 桥梁的56个加固技术方法,图文并茂,超级实用

    桥梁改建可以减少主体开发商的初期投资费用(包括拆迁费.土建费等).缩短建设周期,体现较高的经济价值.目前桥梁加固设计与计算方面的研究还相对滞后,有些方面甚至连公认的算法都没有,使设计者感到难于动手.桥 ...

  • 不良地基土处理与加固的方法及工艺

    公众号 在建造建筑物之前,用临时堆载(砂石料.土料.其他建筑材料.货物等)的方法对地基施加荷载,给予一定的预压期.使地基预先压缩完成大部分沉降并使地基承载力得到提高后,卸除荷载再建造建筑物. 一.置换 ...

  • Moto 360二代开始推送Android Wear 2.0,但没有Sport和国行版

    在不久前的I/O 2017大会上,Google并没有带来Android Wear 3.0,往后应该仍会以Android Wear 2.0的新设备推出和老设备系统升级为主,作为曾经的Android We ...

  • 360加固一键脱壳工具2020

    应很多粉丝说到的脱壳,现在就分享一个简单的脱壳图文教程,大家也可以先了解一下,对于有加固的软件都是需要先脱壳才能做逆向分析. 那我们就先看一下这个加固是怎样脱壳的. 首先直接看这个so库: 拖入IDA ...

  • 老中医奶奶的故事(360) 用得好,简单方法保健康 用得对,单方验方治大病

    老中医奶奶的故事  老中医奶奶的故事(360)用得好,简单方法保健康  用得对,单方验方治大病 自从本作发到博客上之后,一直以来,不断有博友用这些简单实用方,获得了原来想得到而不得的健康,也不断地将使 ...