首页 > 其他分享 >MFC -- 实现键盘HOOK

MFC -- 实现键盘HOOK

时间:2022-12-26 21:07:26浏览次数:39  
标签:MFC 函数 hk -- 键盘 HOOK 按钮 hook


一、新建一个MFC应用程序

MFC -- 实现键盘HOOK_c++

MFC -- 实现键盘HOOK_c++_02

 

二、选择资源视图,打开界面设置(IDD_KEYBOARDHOOK_DIALOG)

MFC -- 实现键盘HOOK_回调函数_03

 

MFC -- 实现键盘HOOK_回调函数_04

三、删除原有的控件,从工具箱添加一个按钮

MFC -- 实现键盘HOOK_公众号_05

 

四、修改按钮的标题属性,双击进入开始编写代码

MFC -- 实现键盘HOOK_c++_06

 

五、代码编写

1、编写HOOK按钮事件,点击按钮创建一个hook,返回句柄

//1、创建一个hook
hk = SetWindowsHookEx(WH_KEYBOARD, //hook类型,键盘hook
KeyboardProc, //回调函数
NULL, //第三方的注入dll,全局hook使用
GetCurrentThreadId());//线程id,填0表示hook所有程序
if (hk == NULL)//如果创建失败,弹出信息框
{
AfxMessageBox(L"HOOK失败");
return;
}

2、回调函数

HHOOK hk;
//键盘hook的回调函数
LRESULT CALLBACK KeyboardProc(int code, WPARAM wParam, LPARAM lParam)
{
OutputDebugStringW(L"键盘被hook!!!");
//钩子执行完后执行该函数
return CallNextHookEx(hk, code, wParam, lParam);
}

六、运行结果

MFC -- 实现键盘HOOK_mfc_07

 

七、获取项目源码

公众号回复:20220112

禁止非法,后果自负

欢迎关注公众号:逆向有你

欢迎关注视频号:之乎者也吧

MFC -- 实现键盘HOOK_c++_08


 

标签:MFC,函数,hk,--,键盘,HOOK,按钮,hook
From: https://blog.51cto.com/u_15288375/5970979

相关文章

  • 火山中文编程 -- 实现Socket通信
    一、新建一个服务端和客户端二、编写服务端代码1、当主窗口创建完毕,启动服务器,传入两个参数,0.0.0.0表示监听所有的ip地址,11111是我们要监听的端口2、当客户进入的时候我们需......
  • C++实现Socket连接通信
    一、打开两个VS2019,创建两个控制台程序分别命名为client和servers 二、编写服务端servers1、包含头文件及库文件#include<WinSock2.h>#pragmacomment(lib,"ws2_32.lib")#......
  • 火山中文编程 -- 创建进程
    一、新建一个控制台程序二、源码如下,由于没有现成的模块,所以只能用嵌入式代码欢迎关注公众号:编程有你欢迎关注视频号:之乎者也吧......
  • C语言 -- 如何传递数组参数
    一、传递普通参数,直接传入即可voidarrprint(intarr){printf("%d\n",arr);}voidmain(){intarr=123;arrprint(arr);printf("aiyou");......
  • C语言 -- CreateProcess创建进程
    wchar_tlp[]=L"/ccalc";PROCESS_INFORMATIONpi={0};STARTUPINFOsi={0};BOOLb=CreateProcess(L"C:\\Windows\\System32\\cmd.exe",l......
  • 安卓逆向 -- 实战某峰窝APP(动态分析)
    ​一、启动调试环境1、启动android-server./as 2、转发端口adb forwardtcp:23946tcp:23946二、启动IDA,加载要调试的SO文件三、在上节课分析的关键处下断,然后查看相关参......
  • 安卓逆向 -- 实战某峰窝APP(静态分析)
    一、通过抓包进行对比分析,需要找的参数的是"oauth_signature",感觉像是Base64编码二、JEB载入该APP搜索关键词三、按tab键,切换成java代码,有个关键加密函数“cryptoParams”四......
  • 安卓逆向 -- 绕过SO层签名验证
    ​SO层加验证就可以防止别人了么?俗话说防君子不防小人,这次我们来做一次“小人”。。。。一、按上节课内容将SO文件导入,会提示验证错误,二、分析SO文件1、继续查看signaturepa......
  • 安卓SO层开发 -- 编译指定平台的SO文件
    0x01四种SO文件1、一个apk中的lib文件夹里面可能有四个子文件夹2、里面是运行在不同平台的SO文件,SO文件内容不一样,但运行效果是一样armeabi-v7a运行在32位的手机上arm64-......
  • 安卓SO层开发 -- 第一个NDK项目
    0x01新建项目1、选择NativeC++2、填写项目名称、项目位置等相关信息3、选择C++版本信息,默认即可0x02项目源码结构介绍1、编译后生成的so文件名称static{System.......