dll注入之SetWindowsHookEx(1)
生活随笔
收集整理的這篇文章主要介紹了
dll注入之SetWindowsHookEx(1)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 第一步
- 實現代碼舉例:
- Dll2.dll實現代碼
- Main.cpp實現代碼
- 插入一個提示(vs如何打開MSDN幫助文檔)
第一步
學會寫dll(格式這些東西自行查詢 以及學習),然后生成(解決方案)即可
2.寫完之后,在生成----> 生成解決方案 即可在debug下面找到Dll2.dll文件
3.生成之后,直接把dll文件拷貝到注入代碼Main.cpp相同目錄下,然后導入進行注入即可
實現代碼舉例:
Dll2.dll實現代碼
// dllmain.cpp : 定義 DLL 應用程序的入口點。 #include "pch.h" #include<iostream> #include<Windows.h> #include<conio.h> #define DEF_PROCESS_NAME "notepad.exe"HINSTANCE g_hInstance = NULL; HHOOK g_hHook = NULL; HWND g_hWnd = NULL;LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {char szPath[MAX_PATH] = { 0, };char* p = NULL;if (nCode >= 0) {if (!(lParam & 0x80000000)) {return 1;}}return CallNextHookEx(g_hHook, nCode, wParam, lParam); }BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) {switch (ul_reason_for_call){case DLL_PROCESS_ATTACH:g_hInstance = hModule;break;case DLL_THREAD_ATTACH:break;case DLL_THREAD_DETACH:case DLL_PROCESS_DETACH:break;}return TRUE; }#ifdef __cplusplus extern "C" { #endif__declspec(dllexport)void HookStart() {g_hHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, g_hInstance, 0);}__declspec(dllexport)void HookStop() {if (g_hHook) {UnhookWindowsHookEx(g_hHook);g_hHook = NULL;}} #ifdef __cplusplus } #endif // __cplusplusMain.cpp實現代碼
#include<iostream> #include<Windows.h> #include<conio.h> #define DEF_DLL_NAME "Dll2.dll" #define DEF_HOOKSTART "HookStart" #define DEF_HOOKSTOP "HookStop"typedef void(*PEN_HOOKSTART)(); typedef void(*PEN_HOOKSTOP)(); MSG msg; int main() {HMODULE hDll = NULL;PEN_HOOKSTART HookStart = NULL;PEN_HOOKSTOP HookStop = NULL;char ch = 0;//加載KeyHook.dllhDll = LoadLibraryA(DEF_DLL_NAME);//獲取導出函數地址HookStart = (PEN_HOOKSTART)GetProcAddress(hDll, DEF_HOOKSTART);HookStop = (PEN_HOOKSTOP)GetProcAddress(hDll, DEF_HOOKSTOP);//開始勾取HookStart();while (GetMessage(&msg, NULL, 0, 0)) {TranslateMessage(&msg);DispatchMessage(&msg);};//終止勾取HookStop();//卸載KeyHook.dllFreeLibrary(hDll);}
鍵盤按炸了也按不出任何東西!!!!
插入一個提示(vs如何打開MSDN幫助文檔)
比如要查看float的特征。
在vs中輸入float,然后按F1鍵,會在默認瀏覽器上打開幫助文檔。
總結
以上是生活随笔為你收集整理的dll注入之SetWindowsHookEx(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (Hook)SetWindowsHook
- 下一篇: InternetOpen Inter