謎のメールたちAdmin デバッガを検出する方法 IsDebuggerPresent()を使う 以下を実行した結果、alが0以外ならデバッガあり mov eax,fs:[0x18] mov eax,[eax+0x30] mov al,[eax+0x02] まだ試していないが、pushfでTFを見てみる いずれも、簡単にそれを試すと検出している部分が簡単に特定されてしまうので、いくらか小細工が必要となる。 デバッガ検出コードの目くらまし VirtualAlloc→VirtualProtectで実行可能領域を動的に作り、その中に検出コードを作ってチェックする。コードを置くアドレスがランダムになっていると吉。 SEHを利用した特殊な処理 WindowsのSEHの仕組みをうまく使うと、あえて例外を発生させることで、デバッグレジスタを含むCPUレジスタの内容を変更できるようになる。 ハードウェア命令