1

C# winforms アプリケーションを開発しています。

WebBrowser コントロールを備えたフォームがあります。

この WebBrowser コントロールは、特定の Web ページをナビゲートする必要があります。

この Web ページには、activex アプリケーションがあります。

問題は、C# アプリケーションをデバッグしているときに、activex がそれを検出し、「この Web サイトをデバッグ プログラムに接続しています。デバッガをオフにしてください」と表示することです。

そして、それは私のアプリケーションを殺すだけです。

msvsmon.exeまたはvshost32.exeを実行しているプロセスの天気をチェックしていると思います。

この ActiveX アプリケーションをごまかす考えがある人はいますか?

4

3 に答える 3

2

監視ツールを使用して、すべてのシステム API 呼び出しを監視します。kernel32!IsDebuggerPresentが呼び出されるかどうかを確認します。

アセンブリを実行可能ファイルに挿入する方法を見つけることができれば、これを使用できますが、まだ理解していないため、プログラムがまだデバッグされているかどうかをテストできません (デバッグする必要があります)。

mov eax, fs:[30h]
mov byte [eax+2], 0

ソース: http://www.symantec.com/connect/articles/windows-anti-debug-reference

于 2013-10-17T04:26:29.957 に答える
0

ほとんどの場合、msvsmon または vshost32 をチェックしていません。デバッガーで実行しているかどうかをテストするための簡単な API 呼び出しがあります。これはおそらく彼らが呼んでいるものであり、真剣に高度なカーネル ハッカーでない限り、これを回避する方法はありません。

于 2013-10-17T03:26:34.233 に答える