鉤子注入撥出與隱藏DLL視窗

2022-08-17 15:48:20 字數 1375 閱讀 5263

/mfc_dll.cpp : 定義 dll 的初始化例程。

//#include

"stdafx.h

"#include

"mfc_dll.h

"#include

"wgdlg.h

"#include

#ifdef _debug

#define new debug_new

#endif

cwgdlg * gameform =null;

hwnd gamehwnd =null;

void

starthook();

////

todo: 如果此 dll 相對於 mfc dll 是動態鏈結的,

//則從此 dll 匯出的任何調入

//mfc 的函式必須將 afx_manage_state 巨集新增到

//該函式的最前面。

////

例如:

////

extern "c" bool pascal export exportedfunction()

////

//此巨集先於任何 mfc 呼叫

//出現在每個函式中十分重要。 這意味著

//它必須作為函式中的第乙個語句

//出現,甚至先於所有物件變數宣告,

//這是因為它們的建構函式可能生成 mfc

//dll 呼叫。

////

有關其他詳細資訊,

//請參閱 mfc 技術說明 33 和 58。

////

end_message_map()

////

cwgdlg *pwgdlg;

dword winapi showwgdlg(lparam lpdata)

return

true;}//

//鉤子**函式

lresult callback gameproc(int

ncode, wparam wparam, lparam lparam)

else

if (gameform->iswindowvisible())

else}}

return callnexthookex(0

, ncode, wparam, lparam);}//

安裝鉤子

void

starthook()

dword tid =getwindowthreadprocessid(hgame, null);

::setwindowshookex(wh_getmessage, gameproc, ::getmodulehandle(_t(

"mfc_dll.dll

")), tid);

}

函式鉤子 Dll注入

在應用層可以設定的鉤子方法有許多種,其中經典的鉤子是訊息鉤子,訊息鉤子分為兩種,一種是系統級全域性鉤子,另外一種是執行緒級區域性鉤子,它們都是通過下面這一組函式來實現訊息勾取,實現相對簡單。設定鉤子 setwindowshookex 釋放鉤子 unhookwindowshookex 繼續鉤子 cal...

Dll注入技術之訊息鉤子

黑客反病毒 dll注入技術之訊息鉤子注入 訊息鉤子注入原理是利用windows 系統中setwindowshookex 這個api,他可以攔截目標程序的訊息到指定的dll中匯出的函式,利用這個特性,我們可以將dll注入到指定程序中。主要流程如下圖所示 1 準備階段 需要編寫乙個dll,並且顯式匯出m...

Dll注入技術之訊息鉤子

dll注入技術之訊息鉤子注入 訊息鉤子注入原理是利用windows 系統中setwindowshookex 這個api,他可以攔截目標程序的訊息到指定的dll中匯出的函式,利用這個特性,我們可以將dll注入到指定程序中。主要流程如下圖所示 1 準備階段 需要編寫乙個dll,並且顯式匯出mymessa...