DLL注入之全局鉤子注入

HOOK概述

Hook也就是鉤子哥遮,在Windows中大部分的應(yīng)用程序都是基于消息機制均函,會根據(jù)不同的消息使用消息過程函數(shù)完成不同的功能碘勉。而鉤子是一種消息處理機制祷杈,它可以比你的應(yīng)用程序先獲得消息已旧,可以用來截獲冠骄、監(jiān)視系統(tǒng)的消息裂允,改變執(zhí)行流程實現(xiàn)特定的功能廓旬。對于全局鉤子來說际插,它會影響所有應(yīng)用程序碘耳,所以鉤子函數(shù)必須在DLL中實現(xiàn)。

函數(shù)介紹

SetWindowsHookEx

作用:

將程序定義的鉤子函數(shù)安裝到掛鉤鏈中框弛,安裝鉤子的程序可以監(jiān)視系統(tǒng)是否存在某些類型的時間藏畅,這些事件與特定線程或調(diào)用線程所在的桌面中的所有線程相關(guān)聯(lián)。

函數(shù)聲明:

參數(shù):

idHook:

安裝的鉤子程序的類型功咒,具體值參考官方手冊

lpfn:

指向鉤子程序過程的指針愉阎,若參數(shù)dwThreadId為0或者指示了一個其他進(jìn)程創(chuàng)建的線程之標(biāo)識符,則參數(shù)lpfn必須指向一個動態(tài)鏈接中的掛鉤處理過程力奋。否則榜旦,參數(shù)lpfn可以指向一個與當(dāng)前進(jìn)程相關(guān)的代碼中定義的掛鉤處理過程。

hMod:

包含由lpfn參數(shù)指向的鉤子過程的DLL句柄景殷。

dwThreadId:

與鉤子程序關(guān)聯(lián)的線程標(biāo)識符溅呢,如果為0,則鉤子過程與系統(tǒng)中所有線程相關(guān)聯(lián)猿挚。

返回值:

成功:返回鉤子過程句柄

失敻谰伞:返回NULL

UnhookWindowsHookEx

作用:

卸載鉤子

函數(shù)聲明:


參數(shù):

hhk:

卸載的鉤子句柄

?實例代碼

使用IDE:VS2019

創(chuàng)建一個DLL項目

pch.h:


dllmain.cpp


鉤子過程:

SetGlobalHook():?設(shè)置全局鉤子,WH_GETMESSAGE為監(jiān)視發(fā)送到消息隊列的消息的鉤子绩蜻,第二個參數(shù)則為鉤子的回調(diào)函數(shù)铣墨。

GetMsgProc():?鉤子的回調(diào)函數(shù),CallNextHookEx表示將當(dāng)前鉤子傳遞給下一個鉤子办绝,若返回值為0伊约,表示中斷鉤子傳遞,對鉤子進(jìn)行攔截孕蝉。

UnsetGlobalHook():?卸載鉤子

共享內(nèi)存:?由于全局鉤子是以DLL形式加載到進(jìn)程中屡律,進(jìn)程都是獨立的,要將進(jìn)程句柄傳遞給其他進(jìn)程降淮,可以使用共享內(nèi)存突破進(jìn)程獨立性超埋,使用"/SECTION:mydata,RWS"設(shè)置為可讀可寫可共享的數(shù)據(jù)段。

pch.cpp:



最終生成Dll1.dll

創(chuàng)建c++空項目

編譯下面代碼,將Dll1.dll放在生成的exe下霍殴,運行

hook.cpp:

最終生成Dll1.dll

創(chuàng)建c++空項目

編譯下面代碼窍蓝,將Dll1.dll放在生成的exe下,運行

hook.cpp:




?查看效果

使用Process Explorer查看dll:

可以看到已經(jīng)注入了Dll1.dll

參考文獻(xiàn)

網(wǎng)絡(luò)安全學(xué)習(xí)攻略

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末繁成,一起剝皮案震驚了整個濱河市吓笙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌巾腕,老刑警劉巖面睛,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異尊搬,居然都是意外死亡叁鉴,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門佛寿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幌墓,“玉大人,你說我怎么就攤上這事冀泻〕B拢” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵弹渔,是天一觀的道長胳施。 經(jīng)常有香客問我,道長肢专,這世上最難降的妖魔是什么舞肆? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮博杖,結(jié)果婚禮上椿胯,老公的妹妹穿的比我還像新娘。我一直安慰自己剃根,他們只是感情好哩盲,可當(dāng)我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著跟继,像睡著了一般种冬。 火紅的嫁衣襯著肌膚如雪镣丑。 梳的紋絲不亂的頭發(fā)上舔糖,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機與錄音莺匠,去河邊找鬼金吗。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的摇庙。 我是一名探鬼主播旱物,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼卫袒!你這毒婦竟也來了宵呛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤夕凝,失蹤者是張志新(化名)和其女友劉穎宝穗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體码秉,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡逮矛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了转砖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片须鼎。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖府蔗,靈堂內(nèi)的尸體忽然破棺而出晋控,到底是詐尸還是另有隱情,我是刑警寧澤姓赤,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布糖荒,位于F島的核電站,受9級特大地震影響模捂,放射性物質(zhì)發(fā)生泄漏捶朵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一狂男、第九天 我趴在偏房一處隱蔽的房頂上張望综看。 院中可真熱鬧,春花似錦岖食、人聲如沸红碑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽析珊。三九已至,卻和暖如春蔑穴,著一層夾襖步出監(jiān)牢的瞬間忠寻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工存和, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奕剃,地道東北人衷旅。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像纵朋,于是被迫代替她去往敵國和親柿顶。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 參考文獻(xiàn) 逆向工程核心原理 Windows消息勾取 消息鉤子 Windows操作系統(tǒng)向用戶提供GUI操软,它以事件驅(qū)動...
    SamiraG閱讀 360評論 0 0
  • 答:安裝全局鍵盤鉤子后聂薪,系統(tǒng)中的每一個線程都會調(diào)用全局鍵盤鉤子函數(shù)(該函數(shù)負(fù)責(zé)把截獲的消息進(jìn)行處理)猪钮,各個線程每收...
    fightlearn閱讀 1,375評論 0 1
  • DLL注入是把指定的DLL加載到另一個進(jìn)程的內(nèi)存空間中去。 DLL注入技術(shù):1胆建、通過遠(yuǎn)程線程注入 ...
    kotw_zjc閱讀 612評論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月烤低,有人笑有人哭,有人歡樂有人憂愁笆载,有人驚喜有人失落扑馁,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,544評論 28 53
  • 首先介紹下自己的背景: 我11年左右入市到現(xiàn)在腻要,也差不多有4年時間,看過一些關(guān)于股票投資的書籍涝登,對于巴菲特等股神的...
    瞎投資閱讀 5,732評論 3 8