線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4744
推到 Plurk!
推到 Facebook!

HOOK API library (含 MASM 源碼)

 
Skyer
高階會員


發表:43
回覆:111
積分:120
註冊:2002-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-11 04:05:29 IP:61.219.xxx.xxx 未訂閱
想法: 因為之前作了監測封包的小工具,用到了 hook api 的技術 但是 hook api 是跟主程式緊密結合的.. 無法簡單抽離.. 於是我就開始研究怎麼把 hook api 抽離成獨立的函式庫.. 因為是比較低階的層次,所以我先用組合語言來寫比較簡單.. 說是簡單,還是經過了好幾個夜晚 + 頭髮大概抓掉了幾千根才寫出來.. 這個 lib 出來,算是又圓了我長久來的夢..    目前圓了: 1. 學會 Win32 ASM 2. 學會使用 debug tool 3. DLL Inject, API Hook 4. API Hook library    離題了 XD    本 lib 特點: 1. 使用簡單, 不用了解內部運作 2. 可重覆hook, 就算是被別的程式 hook, 此 lib 一樣可作 hook 3. 內部有作計數, 會計算此 API 有無被使用..在被使用的狀態下無法 unhook    用法相當簡單 想 hook user32.MessageBoxA 這個 API 的話,簡單下 invoke HookAPI,CTEXT("user32.dll"), CTEXT("MessageBoxA"), offset myMessageBox 即可 回傳值是原本的 API 注:上面等於 Delphi 的 var   oldMessageBox: Pointer; begin   oldMessageBox = HookAPI('user32.dll', 'MessageBoxA', @myMessageBox);    附圖是 主程式 + 執行結果 (HookAPI 可重覆 hook, 且內部有計數. 如果尚有程式使用 API 的話,則 unhook 會失敗) -- Regards, Skyer 發表人 - Skyer 於 2005/08/11 04:22:19 發表人 - Skyer 於 2005/08/11 04:26:18
------
--
Regards,
Skyer
附加檔案:76580_HookAPILib.zip
yn1016
一般會員


發表:2
回覆:3
積分:1
註冊:2004-02-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-13 11:21:31 IP:220.135.xxx.xxx 未訂閱
請問一下 ...這個 Library 可以用在 VC 中嗎 ? ....可以的話...有範例可以參考嗎 ?
系統時間:2024-05-19 15:43:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!