Frida-syscall-interceptor

本文介绍了如何使用Frida inline Hook针对App通过syscall绕过hook的行为进行响应,通过重写SWI/SVC指令实现系统调用的拦截。详细讲述了备份和恢复指令、创建NativeCallback以及在arm32设备上调试的注意事项。
摘要由CSDN通过智能技术生成

一、目标

现在很多App不讲武德了,为了防止 openat 、read、kill 等等底层函数被hook,干脆就直接通过syscall的方式来做系统调用,导致无法hook。

应对这种情况有两种方案:

  • 刷机重写系统调用表来拦截内核调用

  • inline Hook SWI/SVC指令

我们今天采用第二种方法,用frida来实现

  • 内联汇编SWI/SVC做系统调用, syscall

  • frida inline hook

  • hook syscall

  • frida ArmWriter

  • frida typescript project

二、步骤

inline Hook 原理

. 备份SWI/SVC部分的指令,重写成为跳转指令

. 跳转到我们新的代码空间,把之前备份的指令执行一下。然后执行我们自己的逻辑。 (打印参数之类的)

. 跳回原程序空间,继续往下跑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值