detours钩子库的简单使用
detours是微软的钩子库,以下是简单的使用
#include "pch.h"
#include <Windows.h>
#include "detours.h"
#include <stdio.h>
#pragma comment(lib,"detours.lib")static int(WINAPI* OLD_MessageBoxW)(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType) = MessageBoxW;
int WINAPI NEW_MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType)
{//修改输入参数,调用原函数int ret = OLD_MessageBoxW(hWnd, L"test3", L"test3", uType);return ret;
}void Hook()
{DetourRestoreAfterWith();//恢复原来状态DetourTransactionBegin();//拦截开始DetourUpdateThread(GetCurrentThread());//刷新当前线程DetourAttach((void **)&OLD_MessageBoxW, NEW_MessageBoxW);DetourTransactionCommit();//拦截生效
}
void UnHook()
{DetourTransactionBegin();DetourUpdateThread(GetCurrentThread());DetourDetach((void **)&OLD_MessageBoxW, NEW_MessageBoxW);//撤销拦截函数DetourTransactionCommit();//
}
int main()
{MessageBoxW(NULL,L"test", L"test", 0);Hook();MessageBoxW(NULL, L"test2", L"test2", 0);UnHook();return 0;
}
detours钩子库的简单使用相关推荐
- FishHook钩子库开发日志
FishHook钩子库开发日志 搬运自我的百度空间 FishHook是我开发了将近两年的Windows API Hook库,支持Win7/XP,支持x86和AMD64架构,如果开发成熟了以后也许 ...
- python对逻辑回归进行显著性_python sklearn库实现简单逻辑回归的实例代码
Sklearn简介 Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression).降维(Dimensionality Red ...
- python wpf教程_WPF使用IronPython库的简单Demo
WPF使用IronPython库的简单Demo 一.IronPython和C#交互 IronPython是一个.NET平台上的Python实现,包括了完整的编译器.执行引擎与运行时支持,能够与.NET ...
- python如何安装panda数据库_在Pycharm中安装Pandas库方法(简单易懂)
开发环境的搭建是一件入门比较头疼的事情,在上期的文稿基础上,增加一项Anaconda的安装介绍.Anaconda是Python的一个发行版本,安装好了Anaconda就相当于安装好了Python,并且 ...
- php中GD库的简单使用
在php中需要图像处理的地方GD库会发挥重要的作用,php可以创建并处理包括GIF,PNG,JPEG,WBMP以及XPM在内的多种图像格式,简单的举几个例子: 1.用GD库会创建一块空白图片,然后绘制 ...
- python123九宫格输入_使用python PIL库实现简单验证码的去噪方法步骤
字符型图片验证码识别完整过程及Python实现的博主,我的大部分知识点都是从他那里学来的. 想要识别验证码,收集足够多的样本后,首先要做的就是对验证码原始图片进行处理,对验证码识别分类之前,一般包括: ...
- python jieba库分词_Python基于jieba库进行简单分词及词云功能实现方法
本文实例讲述了Python基于jieba库进行简单分词及词云功能实现方法.分享给大家供大家参考,具体如下: 目标: 1.导入一个文本文件 2.使用jieba对文本进行分词 3.使用wordcloud包 ...
- python中的turtle如何运行_python中turtle库的简单使用教程
python的turtle库的简单使用 Python的turtle库是一个直观有趣的图形绘制函数库,是python的标准库之一. 一.绘图坐标体系 turtle库绘制图形的基本框架:通过一个小海龟在坐 ...
- Python之Turtle库绘制简单图形
Python之Turtle库绘制简单图形 来绘制正方形.三角形.五边形.五角形 import turtle #引入turtle库pen=turtle.Turtle() #创建turtle类型的画笔 # ...
- 利用PCL库做简单的三维立体图形
利用PCL库画简单的三维立体图形需要知道各种图形的参数方程,然后给每个参数赋值便可以. 圆柱面的参数方程为:x = R*cos(θ); y = R*sin(θ); z = z;其中 θ范围是[-2*P ...
最新文章
- JavaScript基础JavaScript的常用编码惯例(007)
- resnet50 自定义
- mysql 数据字典 php_php生成mysql数据库数据字典的程序代码
- Eclipse设定文件的默认打开方式
- 趣学算法之哥德巴赫猜想的实现
- 【DP】奖励卡(jzoj 3937)
- centos7 部署elasticsearch
- 非常优秀的iphone学习文章总结!
- QTP的那些事--weblist中相关的内容获取
- vue 圆形 水波_canvas 水滴图、液体进度条、仿加速球、圆球水波图
- 三星手机PIN码忘记锁机解决方法
- 10102 循环输入字符串
- 如果局域网当中两台电脑互相ping不通
- java打开客户端程序_Java客户端服务器应用程序 - 已在使用的地址:connect
- 构建面向未来的前端架构
- 获取Android设备的唯一识别码|设备号|序号|UUI
- 27岁,今年研究生上岸,有什么忠告可以给我的?
- 在C:\Windows\Fonts下复制自己的字体
- 风力发电机控制系统Matlab,双馈感应风力发电机功率调节控制系统性能比较研究(转载)...
- Squirrel SQL客户端使用图解