-
-
《安卓高级研修班》看得见的提升!跟伙伴一起、再次热血奋斗!
-
发表于:
2019-9-11 15:47
14791
-
《安卓高级研修班》看得见的提升!跟伙伴一起、再次热血奋斗!
《调试和逆向》班
Frida
在全平台Win/Mac/Ubuntu
的安装方法,Frida
跟Xposed
的异同,Frida
的核心工作机制和流程,Frida
源码浅析,使用Frida
进行开发的技巧和窍门,Frida
开发调试最佳实践;
Frida hook Java
,hook Java函数,hook 静态函数,Call Java 成员函数, Get Set 变量,打印 Java 调用栈,Hook 动态加载的 Dex,用于生产环境的RPC 调用,objection 框架实战;
Frida hook Native
,inline hook so,so attach hook,so replace hook,call so函数,打印so调用栈,hook libart,frida-trace,使用最新版12306.apk
作为案例进行演示;
Frida
用于抓包:配置使用postern
,配置使用Charles
,配置系统安装证书,证书校验机制逆向分析,实战逆向社交App最新版soal.apk
双向证书校验,实战frida SSL pinning bypass
大实验,全面体验Frida
用于动态调试的快速和轻量,实战逆向最新版iqiyi.apk
,还原被ollvm
混淆的sign
算法,主要的步骤有以下这些:
Frida hook Java
批量动态调用算法
ollvm
特征识别和检测
- 分析参数来源和引用定义
- 常量猜测和IDA操作技巧
- 更多静态分析经验分享
- 算法猜测和交叉引用分析
Frida hook so
hook sub_
模拟验证
- 算法恢复和验证
以下案例均使用Frida进行Java层、Native层hook相结合的方式,快速猜想、逆向和验证结果。
某旅游App的socket协议还原:
- objection hook与抓包
- getOutputStream, 确定请求参数
- 寻找Socket的引用,寻找getInputStream的调用位置
- 判断gz、zlib
- frida注入进行动态解密
某安全sdk的sign算法逆向:
- frida调用算法函数
- dump内存中的so
- 把所有代码强制转为thumb
- 使用Findcrypt查找算法特征
- 使用frida-trace来hook特征函数
- sub_xxx.js打印调用栈
- frida hook native so 偏移地址
- frida hook上层函数反复验证结果
某电商App下单签名算法还原:
- 抓包通讯流过滤关键参数
- 找到sign参数的来源
- 反推Interface的实现过程
- frida hook jni函数
- dump内存中的so
- 使用ida调试线程数最少的进程
- trace 基址发生变化之后的算法函数
- 从trace日志中分析算法
- 从结果回溯算法
《脱壳和加固》班
常见加壳技术原理与案例分析
在第一节中主要讲解当前主流的加固产品的技术实现原理。不知攻,焉知防?加壳与脱壳始终在对抗中。只有充分了解了每一种加壳技术的原理和手段,才能够对症下药,有的放矢,制定对应的脱壳方法。在本节中争取做到深入浅出,并结合案例给出如何快速识别某种app使用的加固手段的方法。
- 整体加解密壳:dex区段加解密,Delvik虚拟机加解密dump原理
- 函数抽取类壳:函数抽取类壳的实现原理、函数抽取类壳的脱壳手段
- VMP壳:VMP壳的实现原理、VMP壳的脱壳手段
- Dex2c壳:Dex2c壳的基本原理、Dex2c壳的app分析方法
- 混合型壳:某加固产品的混合型壳案例分析
透过源码看脱壳
第二节中会结合源码进行分析,对当前公开的一些脱壳方法的根本原理进行总结,并给出快速查找脱壳点的方法,从而做到授之以鱼不如授之以渔,在以后的Android脱壳中,才能够做到不管Google如何升级系统,Android如何修改,都能够快速定位脱壳点并实现脱壳。
- ART下类加载执行流程:ART下关键的类和结构体分析
- so的加载执行流程:基于init节函数和Jni_onLoad函数的so加壳方法、基于自实现linker的so加壳方法
- 发现属于自己的脱壳方法:基于关键字的快速发现脱壳点方法、手把手教你找“海量的”脱壳点
FART自动化脱壳工具介绍
第三节中主要介绍FART:基于主动调用的自动化脱壳工具的框架组成以及实现原理。FART主要由三个组件组成:脱壳组件、主动调用组件、修复组件。FART中的每一个组件都可以单独拿出来使用。比如,将FART的脱壳组件抽出来单独使用,便是一个ART环境下通用的脱壳机;将FART的修复组件拿出来单独使用,便是一个连vmp加固都能够修复的函数粒度的修复工具。该章节会对FART中涉及到的每一个组件进行详细的介绍以及关键的代码分析,带领大家从零开始打造FART并实现对FART的优化。
- FART脱壳原理以及适用场景:FART三组件:脱壳、主动调用、修复,FART的适用场景
- FART框架设计以及关键代码分析:FART脱壳组件的设计与实现、FART主动调用组件的设计与实现、FART修复组件的设计与实现
- FART的扩展使用:VMP函数的修复、如何使用FART的修复组件完成对VMP函数的修复
撸起袖子来脱壳
在第四节中主要手把手带领大家快速寻找ART下新的可能的脱壳点,并一一实现最后测试脱壳效果。其次,会结合APP的运行流程,带领大家打造一款称手的动态分析环境,从而应对各个加固产品在进入app正式执行流程前的各种蛋疼的反调试,达到快速定位vmp加固产品的关键函数的目的。
- 打造并实现属于自己的脱壳工具:定位可能的脱壳点、对发现的脱壳点实现并测试
- 打造属于自己的动态调试环境:从APP运行流程出发打造称手的动态分析环境、基于该动态分析环境对数字壳进行简单的动态调试
- 某加固产品的特例分析以及FART的应对策略:基于动态代理技术的加固产品、分析FART无效的原因、制定该类型壳的脱壳策略并实现脱壳
《安卓高级研修班》服务内容更新
服务对象:
有一定基础的初、中级安卓逆向研究员,迫切希望提高自身能力、学习能力强,升职加薪意愿强烈、学习意愿强烈。
开班时间:
- 第一次周六&周日:《调试和逆向》班:使用Frida、IDA动静态调试、算法还原、协议分析(直播、短视频、电商、安全sdk等分析方法)
- 第二次周六&周日:《脱壳和加固》班:脱壳、反混淆、加壳、加固(常见壳、自动化脱壳、反混淆、反调试、加固原理、JavaC等)
9:00~19:00 ,合计四天;两次开班中间会间隔两三周;
制定符合业务实际情况、帮助学员切实提高业务技能的教学计划;
所有核心思路和案例现场手把手教会,并总结方法论教会;
为保证服务质量,每次开班名额上限十人;
开班地点:
- 优先同城满十人即开班;
- 异地愿意加入开班易可(酌情承担路费和住宿);
长期服务:
我们的目标是手把手教会学员为止,当月培训结束之后、附加三个月超长售后服务。
更新一年:
大家都知道,不管课堂时间有多长,课后大量的资料阅读和动手实际做实验才是提升自己的关键所在,因此我们会持续地将培训内容、问答和新资料进行整理和汇总,暂定形成一本《安卓高研内参》的PDF
形式,每个月发给大家。
看雪高研内参订阅一年:包含工具追新、教材更新、答疑解惑、新的案例。
温馨服务:
坚持服务第一的理念,每次培训都附带午餐、晚宴,营造良好氛围,学员技术形象PR包装指导,学员文章、优先看雪推送,学员议题优先推送各大安全会议。
培训价格:
- 5999 元/人 (赠送《安卓高级研修班》结业考试一次,限培训结束后三个月内)
(PS:对于成绩优秀者,看雪可以出书面成绩证明。)
报名地址:
联系我们:
课程顾问微信:r0ysue (备注安卓高研咨询)
渴望知识和力量的你还在等什么,赶紧报名加入我们吧!
[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!
最后于 2019-10-16 09:51
被看雪高研编辑
,原因: