Android对抗修改so后替换到/data/app/pkg/lib/目录的方案

背景

逆向过程中会针对so文件进行patch,把处理好的so重新放到/data/app/pkg/lib/xxx/目录中替换默认的so,这个情况下如何对抗?

方案1

系统在安装App的过程中,会把apk中的lib目录中的so文件复制到安装目录中,使用到的系统源码是NativeLibraryHelper.java
该工具主要用途是,在安装Apk过程中,如果Apk的manifest文件中配置了android:extractNativeLibs = true,系统会自动将apk文件中的so文件提取到指定目录下。然后在app启动时,构造App的ClassLoader并将该目录作为参数传入,从而实现native库的自动加载。
既然可以配置,在manifest中可以把android:extractNativeLibs = false,这样就安装apk就不会释放到安装目录了。

对抗方案:自定义ROM,在解析manifest的时候,判断android:extractNativeLibs = false标签的值,把这个值强制解析true,或者直接写死,或者做一个动态配置开关控制是否要释放出来。

方案2

要把patch过的so放到安装目录中替换,App加载这个替换的so的前提是,selinux关闭。这个时候,检测系统的selinux状态如果处于宽容模式,就上报风险,App崩溃不允许启动。

相关推荐

  1. Android找不so,实际上apk中有

    2024-03-27 02:10:01       26 阅读
  2. armbian修改docker目录硬盘

    2024-03-27 02:10:01       40 阅读
  3. Android查看SO依赖

    2024-03-27 02:10:01       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 02:10:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 02:10:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 02:10:01       82 阅读
  4. Python语言-面向对象

    2024-03-27 02:10:01       91 阅读

热门阅读

  1. vue3路由懒加载

    2024-03-27 02:10:01       43 阅读
  2. Linux制作yum离线源,解决安装RPM包时循环依赖。

    2024-03-27 02:10:01       41 阅读
  3. C++之函数的重载

    2024-03-27 02:10:01       49 阅读
  4. 跟我学C++中级篇——STL的中的删除

    2024-03-27 02:10:01       46 阅读
  5. Web使用基础

    2024-03-27 02:10:01       43 阅读
  6. 【Vue】实现的底层原理

    2024-03-27 02:10:01       42 阅读
  7. Qt 事件

    Qt 事件

    2024-03-27 02:10:01      35 阅读
  8. 代码随想录刷题随记6-哈希表2,双指针

    2024-03-27 02:10:01       47 阅读