易語(yǔ)言HOOKAPI鉤子操作代碼實(shí)例
DLL代碼
.版本 2 .DLL命令 修改虛擬保護(hù), 整數(shù)型, "kernel32", "VirtualProtect", , 修改虛擬保護(hù) .參數(shù) lpAddress, 整數(shù)型 .參數(shù) dwSize, 整數(shù)型 .參數(shù) flNewProtect, 整數(shù)型 .參數(shù) lpflOldProtect, 整數(shù)型, 傳址 .DLL命令 取函數(shù)地址, 整數(shù)型, "kernel32", "GetProcAddress", , 返回函數(shù)地址 .參數(shù) 模塊句柄, 整數(shù)型 .參數(shù) 函數(shù)名, 文本型 .DLL命令 取模塊句柄, 整數(shù)型, "kernel32", "GetModuleHandleA", , 獲取一個(gè)應(yīng)用程序或動(dòng)態(tài)鏈接庫(kù)的模塊句柄 如執(zhí)行成功成功,則返回模塊句柄。零表示失敗。會(huì)設(shè)置GetLastError .參數(shù) 模塊名, 文本型, , 指定模塊名,這通常是與模塊的文件名相同的一個(gè)名字。例如,NOTEPAD.EXE程序的模塊文件名就叫作NOTEPAD; .DLL命令 建立消息框, 整數(shù)型, "user32", "MessageBoxA", , 建立消息框窗體 .參數(shù) 窗口句柄, 整數(shù)型 .參數(shù) lpText, 文本型 .參數(shù) lpCaption, 文本型 .參數(shù) wType, 整數(shù)型
自定義數(shù)據(jù)類型
.版本 2 .數(shù)據(jù)類型 MEMORYSTATUS .成員 dwLength, 整數(shù)型 .成員 dwMemoryLoad, 整數(shù)型 .成員 dwTotalPhys, 整數(shù)型 .成員 dwAvailPhys, 整數(shù)型 .成員 dwTotalPageFile, 整數(shù)型 .成員 dwAvailPageFile, 整數(shù)型 .成員 dwTotalVirtual, 整數(shù)型 .成員 dwAvailVirtual, 整數(shù)型
HOOKAPI鉤子操作代碼
.版本 2
.程序集 窗口程序集1
.程序集變量 鉤子地址, 整數(shù)型
.程序集變量 原始數(shù)據(jù), 字節(jié)集
.程序集變量 OldProtect, 整數(shù)型
.子程序 _按鈕3_被單擊
信息框 (“這是一個(gè)測(cè)試本地HOOK”, 0, “如果掛鉤了,本文本就會(huì)變化!”)
.子程序 _按鈕1_被單擊
.局部變量 值, 字節(jié)集
鉤子地址 = 取函數(shù)地址 (取模塊句柄 (“User32.dll”), “MessageBoxA”)
.如果真 (鉤子地址 = 0)
信息框 (“無(wú)法獲取函數(shù)地址!!!”, 0, )
返回 ()
.如果真結(jié)束
修改虛擬保護(hù) (鉤子地址, 8, 64, OldProtect)
原始數(shù)據(jù) = 指針到字節(jié)集 (鉤子地址, 8)
值 = { 184 }
寫到內(nèi)存 (值 + 到字節(jié)集 (&MessageBoxA) + { 255, 224 }, 鉤子地址, 8)
.子程序 MessageBoxA, 整數(shù)型
.參數(shù) hWnd, 整數(shù)型, , 窗口句柄
.參數(shù) lpText, 文本型, , 提示文本
.參數(shù) lpCaption, 文本型, , 信息標(biāo)題
.參數(shù) uType, 整數(shù)型, , 按鈕類型
.局部變量 值, 字節(jié)集
lpText = lpText + “----lpText-----掛鉤成功!”
lpCaption = lpCaption + “-----lpCaption----掛鉤成功!”
.如果真 (取字節(jié)集長(zhǎng)度 (原始數(shù)據(jù)) > 0)
寫到內(nèi)存 (原始數(shù)據(jù), 鉤子地址, )
.如果真結(jié)束
建立消息框 (hWnd, lpText, lpCaption, uType)
值 = { 184 }
寫到內(nèi)存 (值 + 到字節(jié)集 (&MessageBoxA) + { 255, 224 }, 鉤子地址, 8)
返回 (0)
.子程序 _按鈕2_被單擊
.如果真 (取字節(jié)集長(zhǎng)度 (原始數(shù)據(jù)) > 0)
寫到內(nèi)存 (原始數(shù)據(jù), 鉤子地址, )
.如果真結(jié)束
運(yùn)行結(jié)果:

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
易語(yǔ)言QQ群發(fā)支持圖片文字?jǐn)?shù)據(jù)一起發(fā)送的工具
今天小編就為大家分享一篇關(guān)于易語(yǔ)言QQ群發(fā)支持圖片文字?jǐn)?shù)據(jù)一起發(fā)送的工具,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
易語(yǔ)言監(jiān)控smtp和反編譯獲取程序內(nèi)郵件密碼發(fā)送信息達(dá)到反釣魚的目的
今天小編就為大家分享一篇關(guān)于易語(yǔ)言監(jiān)控smtp和反編譯獲取程序內(nèi)郵件密碼發(fā)送信息達(dá)到反釣魚的目的,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11
易語(yǔ)言調(diào)用GetUserPassWord.dll獲取系統(tǒng)開機(jī)密碼
今天小編就為大家分享一篇關(guān)于易語(yǔ)言調(diào)用GetUserPassWord.dll獲取系統(tǒng)開機(jī)密碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11
易語(yǔ)言設(shè)置拖動(dòng)窗口中的任何地方都可以整體移動(dòng)窗口
今天小編就為大家分享一篇關(guān)于易語(yǔ)言設(shè)置拖動(dòng)窗口中的任何地方都可以整體移動(dòng)窗口,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11

