修改dll實現功能
修改改hookdll.cpp,鉤取對notepad的輸入,使得:a)輸入文字仍能正常顯示
b)所有輸入文字能夠記錄到input.txt檔案中
#include
"windows.h"
#include
"tchar.h"
hinstance g_hinstance =
null
;hhook g_hhook =
null
;bool winapi dllmain
(hinstance hinstdll, dword dwreason, lpvoid lpvreserved)
return true;
}lresult callback keyboardproc
(int ncode, wparam wparam, lparam lparam)
; tchar *p =
null;if
( ncode >=0)
}// 當前程序不是notepad.exe,將訊息傳遞給下乙個鉤子
return
callnexthookex
(g_hhook, ncode, wparam, lparam);}
#ifdef __cplusplus
extern
"c"__declspec
(dllexport)
void
hkstop()
}#ifdef __cplusplus
}#endif
j使用vs2017編譯生成dll,程式作用:鉤取notepad(記事本)的訊息輸入。不過這是notepad不能正常輸入,也不能記錄鉤取的資料,關鍵**都有注釋。
os訊息佇列和應用程式訊息佇列之間存在一條鉤鏈(hook chain),設定好鍵盤訊息鉤子後,處於鉤鏈中的鍵盤訊息鉤子會比應用程式先一步看到相應資訊。在鍵盤訊息鉤子函式的內部,除了可以檢視訊息之外,還可以修改訊息本身,而且還能對訊息實施攔截,阻止訊息傳遞。可以同時設定多個相同的鍵盤訊息鉤子,按照設定的順序依次呼叫,從而組成的鏈條稱為鉤鏈。其中testdll主要是進行hookdll.dll的裝載與解除安裝,獲取hkstart hkstop的位址,並且使用q來判斷使用者輸入是否終止。// dllmain.cpp : 定義 dll 應用程式的入口點。 //hookdll1 鉤取notepad的輸入 同時不影響正常輸入 並把輸入儲存到指定的txt
#define _crt_secure_no_warnings
#include
"stdafx.h"
#include
"windows.h"
#include
"tchar.h"
#include
//hinstance g_hinstance =
null
;hhook g_hhook =
null
;//dllmain
bool winapi dllmain
(hinstance hinstdll, dword dwreason, lpvoid lpvreserved)
return true;
}//keyboardproc
lresult callback keyboardproc
(int ncode, wparam wparam, lparam lparam)
; tchar *p =
null
; file *fp =
null;if
((fp =
fopen
("c:test\\input.txt"
,"a+"))
==null)if
(ncode >=0)
}fclose
(fp);}
// 當前程序不是notepad.exe,將訊息傳遞給下乙個鉤子
ps 關於vs如何使用ddl 參考windows鉤取
Dll注入技術之訊息鉤子
黑客反病毒 dll注入技術之訊息鉤子注入 訊息鉤子注入原理是利用windows 系統中setwindowshookex 這個api,他可以攔截目標程序的訊息到指定的dll中匯出的函式,利用這個特性,我們可以將dll注入到指定程序中。主要流程如下圖所示 1 準備階段 需要編寫乙個dll,並且顯式匯出m...
Dll注入技術之訊息鉤子
dll注入技術之訊息鉤子注入 訊息鉤子注入原理是利用windows 系統中setwindowshookex 這個api,他可以攔截目標程序的訊息到指定的dll中匯出的函式,利用這個特性,我們可以將dll注入到指定程序中。主要流程如下圖所示 1 準備階段 需要編寫乙個dll,並且顯式匯出mymessa...
DLL注入 APC注入
apc注入的原理是利用當執行緒被喚醒時 apc中的註冊函式會被執行的機制,並以此去執行我們的 dll載入 進而完成 dll注入的目的,其具體流程如下 1 當exe 裡某個執行緒執行到 sleepex 或者waitforsingleobjectex 時,系統就會產生乙個軟中斷 或者是messagebo...