Linux x64下hook系统调用execve的正确方法

Linux x64下hook系统调用execve的正确方法

1.概述

Linux下hook内核execve系统调用的方法有很多:

  1. 可以使用inline-hook,将sys_execve函数头部修改成jmp指令跳转到我们自己hook函数;
  2. 可以使用内核本身的kprobes功能,内核需包含CONFIG_KPROBES编译选项;
  3. 还可以使用hook系统调用表的方法,替换其中__NR_execve项为我们的hook函数的地址。

本文介绍一下采用hook系统调用表项的方法该如何实现。

2.问题

一般的hook系统调用表项代码要这样写(伪代码)

asmlinkage long my_execve_hook64(const char __user *filename,
                                 const char __user *const __user *argv,
                                 const char __user *const __user *envp)
{
	long rc;
	
	rc = do_somet
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值