j0ker
2014-06-13 22:10:27 UTC
マルウェアを分析するときに、実際のマルウェアコードを新しく生成されたプロセスに挿入し、そのように実行するパッカーに出くわします。そのために、彼らは中断状態でプロセスを作成し、コードを挿入し、Windowsで ntdll.NtResumeThread
を使用して再開します。
挿入後に中断されたプロセスにアタッチしたいと思いますメモリをダンプし、解凍されたバイナリを取得するために行われます。そのために、 ntdll.NtResumeThread
で中断します。 Olly 2を使用して、中断されたプロセスにアタッチできます。
私の問題は、これがプロセスを再開しているように見えることです。エントリポイントで壊れても大丈夫です。しかし、そうではありません。オリーは、私がアタッチしたプロセスが終了するまで壊れません。はい、メモリをダンプできます。ただし、マルウェアによって変更されていない場合に限ります。また、解凍中にマルウェアコードを実行したくないのです。
では、新しいプロセスのエントリポイントでOllyを(確実に)中断させる方法はありますか?
よろしくお願いします!
カーネルデバッガーを使用します。 OllyDbgがそれを使用するのか、独自の自作メソッドを使用するのかはわかりませんが、発生しているのは公式のデバッグAPIの制限でもあると思います。
WinDbgをテストするために移動したらすぐにこれを試します:)
@j0kerこれは、Ollydbgのくり抜かれた/子プロセスのエントリポイントを壊すためにしばらく前に書いたリンクです。それは役立つはずです。 http://hooked-on-mnemonics.blogspot.com/2013/01/debugging-hollow-processes.html