FART源码解析及编译镜像支持到Pixel2(xl)
### 镜像编译先看结论吧,最近用`android-8.1.0_r1`这个版本来编译了`FART`,这个版本支持的设备比较多,大家常用的应该都有了。
|Codename|aosp version|android version|supported devices|
|:-:|:-:|:-:|:-:|
|OPM1.171019.011 | android-8.1.0_r1 | Oreo | Pixel 2 XL, Pixel 2, Pixel XL, Pixel, Pixel C, Nexus 6P, Nexus 5X|
也传到网盘里去了,网盘链接在我github主页最下方:
- (https://github.com/r0ysue/AndroidSecurityStudy)
### 源码解析
分析方法为源码比对,如下图所示:
源码分析常用在漏洞分析的情况下,只要知道补丁打在了哪里,就可以研究漏洞出在哪里,知道漏洞成因后写出利用代码,批量攻击没有打补丁的机器;虽然现在补丁发布后`90`天才允许发布漏洞细节报告,但是只要分析能力够强,可以直接逆补丁即可,获取漏洞成因和细节,写出`1day`的利用,(然后被不法分子使用,在网上扫肉鸡)。
比如这位大佬在源码还没有开源的情况下,仅通过逆向分析`system.img`镜像和`libart.so`就还原出源码并应用到安卓`9`上去,是真的大佬,原贴链接: ](https://bbs.pediy.com/thread-257101.htm)。当然以下的分析其实这位大佬和寒冰大佬已经讲得披露得非常清楚了,也没啥新的东西,只是再康康源码,见下图源码结构。
虽然俺这里源码改好了,但是毕竟是人家的代码,等人家自己公开哈。
源码解析的内容,俺发在安全客了,链接在这里:(https://www.anquanke.com/post/id/201896) ,目录如下,大家可以去康康哈。
- [源码解析](#源码解析)
- [第一组件:脱壳](#第一组件脱壳)
- [不优雅且效率低的`Classloader`时代](#不优雅且效率低的classloader时代)
- [直接内存中获取`DexFile`对象脱壳](#直接内存中获取dexfile对象脱壳)
- [进一步优化找到完美脱壳点](#进一步优化找到完美脱壳点)
- [第二组件:转存函数体](#第二组件转存函数体)
- [从`ActivityThread`中开始](#从activitythread中开始)
- [主动调用模块设计](#主动调用模块设计)
- [方法体`dump`模块](#方法体dump模块)
- [第三组件:函数体填充](#第三组件函数体填充) 赞赞赞,大佬太棒了 大佬大佬 本帖最后由 赤座灯里 于 2020-5-3 05:11 编辑
谢谢分享 谢谢分享哦 是不是直接编辑到之前帖子一起就可以了? 平波分, 抄作业了 辛苦了 谢谢 这个技术不错哦 感谢分享。
页:
[1]
2