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钩子库的简单使用相关推荐

  1. FishHook钩子库开发日志

     FishHook钩子库开发日志 搬运自我的百度空间 FishHook是我开发了将近两年的Windows API Hook库,支持Win7/XP,支持x86和AMD64架构,如果开发成熟了以后也许 ...

  2. python对逻辑回归进行显著性_python sklearn库实现简单逻辑回归的实例代码

    Sklearn简介 Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression).降维(Dimensionality Red ...

  3. python wpf教程_WPF使用IronPython库的简单Demo

    WPF使用IronPython库的简单Demo 一.IronPython和C#交互 IronPython是一个.NET平台上的Python实现,包括了完整的编译器.执行引擎与运行时支持,能够与.NET ...

  4. python如何安装panda数据库_在Pycharm中安装Pandas库方法(简单易懂)

    开发环境的搭建是一件入门比较头疼的事情,在上期的文稿基础上,增加一项Anaconda的安装介绍.Anaconda是Python的一个发行版本,安装好了Anaconda就相当于安装好了Python,并且 ...

  5. php中GD库的简单使用

    在php中需要图像处理的地方GD库会发挥重要的作用,php可以创建并处理包括GIF,PNG,JPEG,WBMP以及XPM在内的多种图像格式,简单的举几个例子: 1.用GD库会创建一块空白图片,然后绘制 ...

  6. python123九宫格输入_使用python PIL库实现简单验证码的去噪方法步骤

    字符型图片验证码识别完整过程及Python实现的博主,我的大部分知识点都是从他那里学来的. 想要识别验证码,收集足够多的样本后,首先要做的就是对验证码原始图片进行处理,对验证码识别分类之前,一般包括: ...

  7. python jieba库分词_Python基于jieba库进行简单分词及词云功能实现方法

    本文实例讲述了Python基于jieba库进行简单分词及词云功能实现方法.分享给大家供大家参考,具体如下: 目标: 1.导入一个文本文件 2.使用jieba对文本进行分词 3.使用wordcloud包 ...

  8. python中的turtle如何运行_python中turtle库的简单使用教程

    python的turtle库的简单使用 Python的turtle库是一个直观有趣的图形绘制函数库,是python的标准库之一. 一.绘图坐标体系 turtle库绘制图形的基本框架:通过一个小海龟在坐 ...

  9. Python之Turtle库绘制简单图形

    Python之Turtle库绘制简单图形 来绘制正方形.三角形.五边形.五角形 import turtle #引入turtle库pen=turtle.Turtle() #创建turtle类型的画笔 # ...

  10. 利用PCL库做简单的三维立体图形

    利用PCL库画简单的三维立体图形需要知道各种图形的参数方程,然后给每个参数赋值便可以. 圆柱面的参数方程为:x = R*cos(θ); y = R*sin(θ); z = z;其中 θ范围是[-2*P ...

最新文章

  1. JavaScript基础JavaScript的常用编码惯例(007)
  2. resnet50 自定义
  3. mysql 数据字典 php_php生成mysql数据库数据字典的程序代码
  4. Eclipse设定文件的默认打开方式
  5. 趣学算法之哥德巴赫猜想的实现
  6. 【DP】奖励卡(jzoj 3937)
  7. centos7 部署elasticsearch
  8. 非常优秀的iphone学习文章总结!
  9. QTP的那些事--weblist中相关的内容获取
  10. vue 圆形 水波_canvas 水滴图、液体进度条、仿加速球、圆球水波图
  11. 三星手机PIN码忘记锁机解决方法
  12. 10102 循环输入字符串
  13. 如果局域网当中两台电脑互相ping不通
  14. java打开客户端程序_Java客户端服务器应用程序 - 已在使用的地址:connect
  15. 构建面向未来的前端架构
  16. 获取Android设备的唯一识别码|设备号|序号|UUI
  17. 27岁,今年研究生上岸,有什么忠告可以给我的?
  18. 在C:\Windows\Fonts下复制自己的字体
  19. 风力发电机控制系统Matlab,双馈感应风力发电机功率调节控制系统性能比较研究(转载)...
  20. Squirrel SQL客户端使用图解

热门文章

  1. SpringBoot mysql房屋租赁系统4.0 租房系统源码(包远程安装
  2. Tera Term 工具的使用
  3. 官方VM tools下载地址
  4. mysql最大tpmc_tpcc-mysql 压力测试 tpmc基准测试
  5. 【iOS-Cocos2d游戏开发】解决滚屏背景/拼接地图有黑边(缝隙)
  6. vs2015安装与配置
  7. 【Windows】打印机0x0000011b解决办法
  8. 出租车计费-Java练习题
  9. PDF文件怎样修改,怎么修改PDF文件内容
  10. 怎么修改PDF文件大小,PDF怎么裁剪页面