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语言实现
四.加固前后对比图
图全挂重新编辑一下吧 图片加防盗链了,下载下来重新上传吧 好吧,很好,非常好,,,,就是啥也没看懂! 防盗链是什么.... 图片挂了啊,根本没学到东西 对的,加固 就是防盗链 @liumengdeqq 图片盗链了,上传论坛吧。 学习到了 楼主辛苦了
页:
[1]
2