使用Detours進行API攔截

2021-06-03 11:02:00 字數 1248 閱讀 1376

previous topic其他

next topic

restructuredtext 入門

enter search terms or a module, class or function name.

《windows核心程式設計》上提到了兩種api攔截的方法,一種覆蓋**來攔截api,一種修改模組的匯入表來攔截api。 detours就是採用修改模組的匯入表的方法來進行api攔截。

使用 visual studio 20** 命令提示工具 進入detours的源**所在的資料夾。

執行 nmake,在源**目錄將自動生成include和lib資料夾

api攔截:準備

#include "detours.h"

#pragma comment(lib,"detours.lib")

void

(winapi

*g_poldexitprocess

)(uint

uexitcode)=

exitprocess

;// 儲存要攔截api位址

void

winapi

newexitprocess

(uint

uexitcode

)

api攔截:初始化

detourtransactionbegin

();detourupdatethread

(getcurrentthread

());

detourattach(&

(pvoid&)

g_poldexitprocess

,newexitprocess

);detourtransactioncommit

();

api攔截:清理

detourtransactionbegin

();detourupdatethread

(getcurrentthread

());

detourdetach(&

(pvoid&)

g_poldexitprocess

,newexitprocess

);detourtransactioncommit

();

Detours使用說明

源自 目錄 介紹detours api hook hook dll 中的函式 hook自定義c 函式 hook類成員函式 detourcreateprocesswithdll detouring by address api hook包括兩部分 api呼叫的擷取和api函式的重定向。通過api ho...

使用detours實現劫持

detourrestoreafterwith 恢復原來狀態,detourtransactionbegin 攔截開始 detourupdatethread getcurrentthread 重新整理當前執行緒 這裡可以連續多次呼叫detourattach,表明hook多個函式 detourattach...

使用eolinker進行api測試

eolinker是乙個api管理平台,可滿足各行業客戶在不同應用環境中對介面管理全生命週期的個性化需求,提供api開發管理 開發團隊協作 自動化測試 閘道器以及監控等服務,幫助企業實現開發運維一體化,提公升開發速度並且降低運維成本。eolinker的api管理平台把所有複雜邏輯的源 隱藏在螢幕後面,...