逆向工程核心原理之第21章之用devc++实现键盘钩子
如何用devc++实现21章的窃取notepad.exe输入的键盘钩子
1 文件->新建->项目
2 选择DLL,点击C项目,修改名称为你DDL名字的字符串(KeyHook)
3 得到dll.h 和 dllmain.h 两个文件
注意观察其中已经有一个helloworld的例子
.h文件中的定义
DLLIMPORT void HelloWorld();
.c文件中的实现
DLLIMPORT void HelloWorld()
{
MessageBox(0,"Hello World from DLL!\n","Hi",MB_ICONINFORMATION);
}
类似将我们的函数定义放在.h文件中
DLLIMPORT void HookStart();
DLLIMPORT void HookStop();
将实现放在.c文件中
DLLIMPORT void HookStart()
{
g_hHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, g_hInstance, 0);
}
DLLIMPORT void HookStop()
{
if( g_hHook )
{
UnhookWindowsHookEx(g_hHook);
g_hHook = NULL;
}
}
4 编译即可得到dll文件 KeyHook.dll
5文件->新建->源代码,将可执行文件的代码放在这个文件,编译即可得到exe文件