troushoo

Frida を使用して API の実行をモニター



Frida を使用することで、API の実行をモニターすることができます。
Frida は Windows、macOS、GNU/Linux、iOS、Android、QNX で、フリーで利用できます。以下、Windows での実行例を紹介します。

Frida のインストール (Windows Server 2019 で試しています。)
1. Python 3.x をインストールします。
Frida は Python 3.x が必要です。公式サイトからインストーラーをダウンロードして、Python をインストールしました。


インストールは「Install Now」をクリックするだけです。(Add Python 3.9 to PATH はチェックを入れました。)


2. コマンドプロンプトで以下のコマンドを実行します。
pip install frida-tools


Frida を使用して API をモニター
Frida を用いて、メモ帳が保存するファイルの中身を見てみます。
1. 以下の JavaScript のファイルを作成します。
これは WriteFile の API をモニターし、第二引数を出力するための設定ファイルです。WriteFile の第二引数には、保存するファイルの中身が格納されています。
var writeFile = Module.getExportByName(null, "WriteFile");
Interceptor.attach(writeFile, {
     onEnter: function(args)
     {
         console.log("Buffer dump:\n" + hexdump(args[1]));
     }
});


2. Frida を以下のコマンドで起動します。
このコマンドは、上記 1 の設定ファイルを読み込んで、メモ帳を起動するコマンドです。
frida C:\windows\system32\notepad.exe –l <上記 1 で作成した設定ファイル>


3. メモ帳の実行が止まっているので、「%resume」を実行し、メモ等を開始します。


4. メモ帳に適当に入力し、Ctrl + S を入力しファイルを任意の場所に保存します。


5. メモ帳に記載した内容を Frida の出力で確認できます。



情報元
Instrumenting Windows APIs with Frida
Frida

関連記事
Detours を使って API の実行履歴やその戻り値を確認
  1. 2021/03/24(水) 23:23:49|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<他のログインセッションにパスワード無しで接続する方法 | ホーム | メッセージを正確に翻訳してくれるサイト:ランゲージポータル>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
https://troushoo.blog.fc2.com/tb.php/469-12d009b7
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (104)
ネットワーク (48)
Wireshark (45)
Visual Studio (56)
WinDbg (46)
SOS・Psscor2/Psscor4 (25)
Linux (24)
コンテナ (4)
Azure (17)
Tips (27)
AD (33)
.NET (24)
Python (9)
Java (5)
SQL (4)
事例 (1)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する