//
//
//
//
//
//
//
//
//
//
软件Tags:
钩子(键盘)
系统结构:hqjb,hook,CallNextHookEx,CopyMemory,FreeLibrary,GetProcAddress,LoadLibrary,SetWindowsHookEx,UnHookWindowsHookEx,hook,
======程序集1
| |
| |------ hqjb
| |
| |------ hook
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |
======调用的Dll
| |
| |---[dll]------ CallNextHookEx
| |
| |---[dll]------ CopyMemory
======Main
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ __启动窗口_可否被关闭
| |
| |------ _按钮3_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ FreeLibrary
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ LoadLibrary
| |
| |---[dll]------ SetWindowsHookEx
| |
| |---[dll]------ UnHookWindowsHookEx
| |
| |---[dll]------ hook
调用的DLL命令:
.DLL命令 CallNextHookEx, 整数型, , "CallNextHookEx"
.参数 hhk, 整数型
.参数 nCode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 CopyMemory, , , "RtlMoveMemory"
.参数 Destination, 钩子数组
.参数 Source, 整数型
.参数 cbCopy, 整数型
调用的DLL命令:
.DLL命令 FreeLibrary, , , "FreeLibrary"
.参数 DLL句柄, 整数型
.DLL命令 GetProcAddress, 子程序指针, , "GetProcAddress"
.参数 hinst, 整数型
.参数 函数过程名, 文本型
.DLL命令 LoadLibrary, 整数型, , "LoadLibraryA", , 载入指定的动态链接库,并将它映射到当前进程使用的地址空间。一旦载入,即可访问库内保存的资源
.参数 lpLibFileName, 文本型, , 指定要载入的动态链接库的名称
.DLL命令 SetWindowsHookEx, 整数型, , "SetWindowsHookExA", , 安装一个钩子
.参数 idHook, 整数型, , HOOK类型
.参数 lpfn, 子程序指针, , 新的窗口过程(Procedure的类型见MyProc)
.参数 hmod, 整数型, , 实例句柄
.参数 dwThreadId, 整数型, , 进程ID
.DLL命令 UnHookWindowsHookEx, 整数型, , "UnhookWindowsHookEx", , 卸载一个钩字
.参数 hhk, 整数型
.DLL命令 hook, 整数型, "hook.dll", "hqjb"
.参数 dlljb
