C/C++劫持技术(函数劫持、dll注入、动态库注入、HOOK)

本文介绍了如何利用Detours库在C/C++中实现函数劫持,详细阐述了劫持QQ的system函数过程,包括设置项目生成DLL、编译Detours工程、将DLL注入QQ进程以及拦截QQ执行特定函数的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

劫持

detours

实现劫持

步骤:

1. 安装Detours

2. 编译Detours工程

3. 把静态库和头文件引入工程

4. 函数指针与函数的定义

5.拦截

劫持QQ

实现劫持system函数。

1. 设置项目生成dll

2. 源文件(注意:需要保存为.c文件,或者加上extern C,因为detours是使用C语言实现的,表示代码使用C的规则进行编译) 

3. 生成"劫持1.dll"文件

4. 把dll注入到QQ.exe

5. 拦截QQ执行system函数

参考


劫持

  • 劫持的原理就是把目标函数的指针的指向修改为自定义函数的地址。
  • 函数是放在内存中的代码区,所以劫持与代码区密切相关。
  • 实现劫持需要使用detours。

detours

  • detours是微软亚洲研究院出口的信息安全产品,主要用于劫持。这个工具使用C语言实现,所以是跨平台的。
  • detours根据函数指针改变函数的行为,可以拦截任何函数,即使操作系统函数。

detours下载地址:
下载地址1: http://research.microsoft.com/en-us/downloads/d36340fb-4d3c-4ddd-bf5b-1db25d03713d/default.aspx
下载地址2: http://pan.baidu.com/s/1eQEijtS

实现劫持

开发环境说明:win7、vs2012

步骤:

1. 安装Detours

2. 编译D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

墨痕诉清风

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

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

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

打赏作者

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

抵扣说明:

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

余额充值