読者です 読者をやめる 読者になる 読者になる

Log.i53

Themidaのアンパックを目指すブログ改め使い物になるえんじにゃを目指すブログ

デバッガ検出技術:Debugger Process

 システムでデバッガが動作しているかをチェックする方法の1つに、プロセスを列挙してデバッガのプロセス名(OLLYDBG.EXE、WinDbg.exeなど)があるかどうかを確認する方法があります。この実装は、Process32First/Next()を使用して各プロセスを参照して、デバッガのイメージ名があるかどうかを確認するだけです。

 分析者がデバッガーの実行ファイルをリネームする場合に備えて、パッカーによっては、kernel32!ReadProcessMemory()を使用してプロセスメモリを読み込み、デバッガに関連する文字列(OLLYDBGなど)を検索するものがあります。一度デバッガの存在を検出すると、パッカーはエラーメッセージを表示して、静かに終了するかデバッガを強制終了させます。

解決策

 親プロセスチェックの対応策と同様に、kernel32!Process32NextW()の呼び出しが常に失敗するようなパッチを行い、パッカーによるプロセスの列挙を防止します。