开源代码地址:https://github.com/liumengdeqq/CustomLinker.git
(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 原创
转载请注明来自看雪论坛
往期热门阅读:
扫描二维码关注我们,更多干货等你来拿!