Android so 加固

开源代码地址: https://github.com/liumengdeqq/CustomLinker.git

一、so的加载过程分析

二.分析系统加载so的原理

(1)用mmap函数映射so文件到内存 

2)映射内存根地址

(3)映射so代码load内存

(4)映射soinfo结构体和重定向

(5)重定向系统函数

(6)调用初始化函数和函数数组

(7)还原系统权限

(8)单个函数加密

    

三、难点分析

(1).在android 7.0之后dlopen不返回soinfo结构体,通过读取maps 获取基地址读取系统so的结构体

(2).在android5.1之后 出现read被pread64函数读取so的结构

(3).在android4.1.2 5.0 7.0等page_size 也是内存大小有改变

(4).在android4.4之后都是c++ 考虑安全问题 用c语言实现

四、加固前后对比图

本文由看雪论坛 liumengde 原创

转载请注明来自看雪论坛

往期热门阅读:

扫描二维码关注我们,更多干货等你来拿!

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章