HOOK如何用C++调用detours劫持WindowsAPI?

作者 : 开心源码 本文共974个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共237人阅读

image

00 detours

detours是微软亚洲研究院出品的信息安全产品,用于劫持

可用Detours Express 3.0编译生成detours.lib

01 劫持MessageBoxW()

vs2015创立空项目,源文件中增加msg.c

把detours.h、detours.lib、detver.h文件复制到msg.c同目录下

输入MessageBoxW()右键选择查看定义

image

复制MessageBoxW()的函数公告

image

修改函数公告,去掉多余的调用商定,修改为一个指向原来函数的指针

并在前面加上static防止影响其余源文件

image

创立一个同类型的函数以便阻拦是调用

image

增加静态库文件

pragma comment(lib,”detours.lib”)

调用劫持代码

image

vs2015处理方案配置修改为Release

image

msg.c:劫持MessageBoxW()完整代码

image

运行结果显示第一个MessageBoxW()运行成功第二个被劫持

02 阻拦system函数

查看system()定义

image

修改为一个指向system函数的指针

image

程序完整测试代码

image

03 dll注入注入正在运行的进程劫持system函数

vs创立一个MFC程序

*处理方案配置选择Release

image

工具箱中拖入button并增加代码,并生成exe文件

image

detours.h、detours.lib、detver.h文件复制到dll.c同目录下

修改属性为dll,配置设为Release

image

编写dll.c生成jiechi.dll文件禁止button调用calc

image

运行生成的mfc应用程序,点击按钮可以调出计算器

用dll注入工具把生成的jiechi.dll注入到mfc应用程序进程中

image

这时system函数就被劫持了,程序无法调出计算器

04 劫持CreateProcessW()

CreateProcessW()可以创立进程,此函数被劫持后将无法打开应用程序

CreateProcessW()函数公告

image

编译生成dll文件并注入到explorer.exe进程中

image

最后,假如你想学c++,加入小编学习群:825414254获取素材资料以及开发工具和听课权限!(不是前来学习c++的同学非诚勿扰哦!)

image

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » HOOK如何用C++调用detours劫持WindowsAPI?

发表回复