资源介绍
C++注入框架CHook_DLLApp::CHook_DLLApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CHook_DLLApp object
CHook_DLLApp theApp;
LRESULT CALLBACK KeyboardProc(
int Code, //Hook絏
WPARAM wParam, //店览龄 VK_F1 , VK_F2 , VK_HOME
LPARAM lParam //龄絃癟 (lParam&(1<<30)) 北磅︽Ω ぃ礛㎝秨常穦磅︽
)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState()); //ňゎ笆篈硈挡畐岿粇
//判断是否按下HOME键
if(wParam == VK_HOME && (lParam&(1<<30)))//(lParam&(1<<30)) 北磅︽Ω ぃ礛㎝秨常穦磅︽
{
//如果按下HOME键(不监视键弹起的动作,只监视键按下的动作)
//AfxMessageBox("为目标进程附加(注入)DLL文件成功!");
_asm //游戏注入CALL
{
mov eax,0X004043A0
call eax
}
}
return CallNextHookEx(0,Code,wParam,lParam);
}
void SetHook()
{
HWND h =::FindWindow(NULL,"模拟找CALL练习1.0版=梦工厂出品");//怠嘿
if(h==0)
{
AfxMessageBox("没找到游戏窗口!");
}
DWORD Pid; //游戏进程PID
Pid = ::GetWindowThreadProcessId(h,NULL);
//把DLL挂钩(注入)到目标游戏进程
::SetWindowsHookEx(
WH_KEYBOARD, //KEY表示的是按键。啥时候触发钩子呢?(按键时候触发)
&KeyboardProc, //使用DLL里面的具体某个自定义函数(在这里用函数指针即可)
::GetModuleHandle("Hook_DLL.dll"), //使用具体某个DLL,GetModuleHandle返回DLL的模块句柄
Pid //PID
);
}
- 上一篇: 易语言 仿WPE源码.zip
- 下一篇: dll注射器E源码