易语言DLL制作调用及hook线程键盘钩子实现键盘记录

获取线程ID并注入

.版本 2
.支持库 spec
 
.局部变量 线程ID, 整数型
 
线程ID = GetCurrentThreadId ()
调试输出 (“线程ID: ” + 到文本 (线程ID))
' 全局键盘钩子是13
' 线程键盘钩子是2
键盘钩子 = SetWindowsHookExA (2, &键盘钩子回调函数, 0, 线程ID)
调试输出 (“键盘钩子: ” + 到文本 (键盘钩子))

键盘钩子回调函数

.版本 2
.支持库 spec
 
.子程序 键盘钩子回调函数, 整数型
.参数 ncode, 整数型, , 消息代码
.参数 wParam, 整数型, , 虚拟键码
.参数 lParam, 整数型, , 按键状态
 
.' 如果真 (lParam > 0)
    .判断开始断 (wParam = 65)
        ' 返回 (1)
    .默认
    .判断结束
.如果真结束
.' 如果真 (wParam ≥ 65 且 wParam ≤ 90)
    ' 返回 (1)
.如果真结束
.如果真 (lParam > 0)
    调试输出 (wParam)
    加入成员 (text, wParam)
.如果真结束
返回 (0)

卸载键盘钩子并写入文件

.版本 2
 
写到文件 (取运行目录 () + “\键盘记录.txt”, 到字节集 (text))
UnhookWindowsHookEx (键盘钩子)

用到的API

.版本 2
 
.DLL命令 SetWindowsHookExA, 整数型, , "SetWindowsHookExA", , 安装钩子,函数成功则返回钩子子程的句柄,失败返回NULL
    .参数 ihook, 整数型, , 钩子类型
    .参数 lpfunc, 子程序指针, , 回调函数
    .参数 hin, 整数型, , 实例句柄
    .参数 threadid, 整数型, , 线程ID
 
.DLL命令 UnhookWindowsHookEx, 逻辑型, "user32.dll", "UnhookWindowsHookEx", , 卸载钩子过程,函数成功则返回非0,失败返回NULL
    .参数 hhk, 整数型, , 安装钩子过程进得到的钩子句柄
 
.DLL命令 GetCurrentThreadId, 整数型, "kernel32.dll", "GetCurrentThreadId", , 获取当前线程一个唯一的线程标识符

提取码:加QQ群:521068947 群文件下载

511遇见全部视频教程百度网盘下载

511遇见易语言DLL制作调用及hook注入

资源教程交流①群:521068947


发布日期:

所属分类: 易语言 标签: