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崩溃不允许启动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

debug_cat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值