转:https://bbs.pediy.com/thread-226667.htm

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

        
 一.so的加载过程分析
      android so加固
    二.分析系统加载so的原理
     (1)用mmap函数映射so文件到内存 
             android so加固
        (2)映射内存根地址
         android so加固
          (3)映射so代码load内存
        android so加固
         (4)映射soinfo结构体和重定向
android so加固
             (5)重定向系统函数
android so加固

           (6)调用初始化函数和函数数组
android so加固
        (7)还原系统权限
android so加固
        (8)单个函数加密
android so加固
      
        三.难点分析
       (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语言实现
        四.加固前后对比图
android so加固

相关文章:

  • 2021-10-15
  • 2022-12-23
  • 2022-12-23
  • 2021-06-23
  • 2021-10-16
  • 2021-04-23
  • 2021-12-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-04-05
  • 2021-11-25
  • 2021-12-04
  • 2021-06-30
  • 2021-09-08
相关资源
相似解决方案