AntIDBGは、Windows Anti Debuggingテクニックのコレクションです。この手法は、デバッガーを見つけるために使用する方法によって分類されます。
このようなものが動作しているのを見たいですか? YouTubeのプレイリストをご覧ください。
AntIDBGはCで記述されており、単一のソースファイルとヘッダーのみが必要です。これらのメソッドのほぼすべては、入力を受けず、出力を生成しないように設計されています。彼らは、デバッガーを自動的に切り離す自己完結型デバッガーチェックを目指しています。
AntIDBGは、ユーザーがテクニックについて学ぶことができるように読みやすくなるように設計されています。独自のプロジェクトでこれらの方法を使用することを選択した場合、これらの方法に加えて難読化を追加することで大きな恩恵を受けるでしょう。難読化はこのプロジェクトの目的ではありません。
Gauntletは、各AntIDBGチェックを次々と実行する単純なアプリケーションです。それが目的です、アンチボッグメソッドをバイパスし、デバッガーの下で走っている間にガントレットの終わりまで到達する能力をテストすることです。
ガントレットを難しくしたいですか? undefine show_debug_messages(antidbg.cppでデフォルトで定義)。このオプションは、あなたが手に入れたチェックに関する情報に巻き込まれたときにメッセージボックスを生成します。
ヘルプ! Xメソッドは機能しないようです。
多くの不自由なチェックは、奇妙なエッジケースに焦点を当てています。シングルステップを過去にする必要がある人もいれば、特定のデバッガーを使用する必要がある人もいれば、例外をデバッガーなどに渡す必要がある人もいます。
AntIDBGのすべてのメソッドは、Windows 10 64ビットで設計されている条件でテストされています。ほとんど(すべてではないにしても)他のすべてのバージョンのWindowsでも動作するはずです。
ヘルプ!このことはコンパイルされません!
AntIDBGは、Microsoft Visual Studio 2019を使用して開発およびテストされました。2019年を使用している限り、詳細について問題を提出してください。喜んでお手伝いします。
x64バリアントが.asmファイルにあるのに、x86アセンブリがインラインなのはなぜですか?
Microsoftは、開発者がX64のインラインアセンブリを作成できるようにすることは素晴らしいアイデアだと考えました。理由はわかりませんが、インターネット上で引用されている一般的な理由は、開発者がアセンブリとコンパイラの執筆に吸うのがずっと良いということです。私はこれに反対しませんが、それが本当の理由であるとは思いません。理由が何であれ、私たちは今、フープを飛び越えて、リモートで類似したことをさらに行わなければなりません。この地雷原を案内してくれたLallouslabとOnipotに感謝します。
もっと質問があります。
喜んで答えられます!ご質問の場合はGitHubの問題を提出してください。できるだけ早く支援するために最善を尽くします。
このプロジェクトで過去にフィードバックを提供してくれた貢献者とすべての人に感謝します。