時(shí)間:2023-02-05 10:35:44 作者:無名 瀏覽量:56
API Monitor(API調(diào)用監(jiān)控軟件)是一款功能強(qiáng)大、非常實(shí)用的API調(diào)用監(jiān)控軟件,API Monitor過濾器配置文件是存儲(chǔ)您喜歡的顯示器設(shè)置以在其他會(huì)話中使用的有效方式。可以用來查看應(yīng)用程序和服務(wù)的工具流程。
本教程演示了如何使用 API Monitor 斷點(diǎn)來修改應(yīng)用程序的輸出。對(duì)于本示例,我將使用由Napalm開發(fā)的名為 Asteroids 的應(yīng)用程序(感謝您讓我在本教程中使用它)。以下屏幕截圖顯示了應(yīng)用程序的輸出。我們將使用 API Monitor Breakpoint 修改輸出,以便應(yīng)用程序顯示我們的文本。
第一步是確定應(yīng)用程序用于顯示文本的 API。在捕獲過濾器中選擇圖形和多媒體類別。
使用File 菜單中的Hook Process…命令運(yùn)行應(yīng)用程序。API Monitor 中的“摘要”視圖將顯示應(yīng)用程序調(diào)用的 API 列表。由于我們知道應(yīng)用程序顯示“Asteroids”,我們可以搜索該文本。搜索中的第一個(gè)命中是TextOutA API。這看起來像我們感興趣的那個(gè),所以右鍵單擊 API 并設(shè)置一個(gè)Before Call斷點(diǎn)。這將允許我們?cè)趯?shù)傳遞給 API 之前修改參數(shù)。
使用Hook Process...命令再次運(yùn)行應(yīng)用程序。這一次 API Montior 將在應(yīng)用程序調(diào)用 TextOutA API 時(shí)顯示一個(gè) Breakpoint 窗口。我們現(xiàn)在可以修改參數(shù)以顯示我們想要的文本。
點(diǎn)擊Continue將修改后的參數(shù)傳遞給 API。應(yīng)用程序現(xiàn)在應(yīng)該顯示修改后的文本。
監(jiān)控您的第一個(gè)應(yīng)用程序
啟動(dòng) API 監(jiān)視器。我們將在本教程中使用 64 位版本,但 32 位版本的工作方式相同。選擇應(yīng)監(jiān)控的 API。在本教程中,我們將監(jiān)控CreateFileA、CreateFileW和NtCreateFile。我們將使用 find 函數(shù)來定位這些 API。單擊API Capture Filter窗口中的某處,然后按CTRL+F或從菜單中選擇Edit->Find。輸入CreateFile并單擊Find Next按鈕。單擊 API 名稱旁邊的復(fù)選框以啟用它。啟用所有三個(gè) API 后,繼續(xù)執(zhí)行。
我們現(xiàn)在需要選擇要監(jiān)控的應(yīng)用程序。您可以從菜單中選擇File->Hook Process,或者單擊Hooked Processes 窗口中的Hook New Process按鈕。
這將打開Hook Process對(duì)話框。單擊“進(jìn)程”的“瀏覽”圖標(biāo)并找到 notepad.exe。在Arguments 下,輸入不存在的文件的名稱。在開始在目錄中自動(dòng)填充,不需要改變。
單擊確定按鈕。這將啟動(dòng)記事本,它應(yīng)該顯示一個(gè)消息框,指示找不到該文件。關(guān)閉消息框并退出記事本。