コンテンツにスキップ

ScyllaHide - ユーザーモードアンチアンチデバッグチートシート

ScyllaHide - ユーザーモードアンチアンチデバッグチートシート

ScyllaHideは、Windows (x86/x64)向けの高度なオープンソースユーザーモードアンチアンチデバッグライブラリです。マルウェアと商用パッカーは、よく知られているAPI呼び出しとフラグのセットを通じてデバッガーを検出します。ScyllaHideはこれらの機能をフックして、「デバッガーが存在しない」を返し、保護されたコードをデバッグでき、その回避機構をトリップしません。x64dbg、IDA、OllyDbgのプラグインとして出荷され、ターゲットへのインジェクションによってスタンドアロンで実行することもできます。

認可されたマルウェア分析およびソフトウェアリサーチのみ。ScyllaHideは防御的研究ツールです。分析する権限があるサンプルおよびソフトウェアでのみ使用してください。

インストール

方法方法
x64dbgプラグインDLLを x64dbg/plugins/ にドロップ
IDAIDAプラグインをIDAの plugins/ フォルダにコピー
スタンドアロン (インジェクター)InjectorCLIx64.exe / InjectorGUI.exe を使用
ソースx64dbg/ScyllaHideリポジトリからビルド
確認プラグインメニューがデバッガーに表示される

隠蔽対象

テクニックScyllaHideが対抗
IsDebuggerPresentfalseを返す
CheckRemoteDebuggerPresentデバッガーなしを報告
PEB BeingDebugged フラグクリア
NtGlobalFlag正規化
NtQueryInformationProcessProcessDebugPort/Flagsなりすまし
ヒープフラグ正規化
NtSetInformationThread (HideFromDebugger)ブロック
タイミングチェック (GetTickCount, rdtsc)オプションで軽減
OutputDebugString / ハードウェアブレークポイント処理/隠蔽

プラグインの使用 (x64dbg)

ステップアクション
ターゲットを開くパック/保護されたバイナリをx64dbgに読み込む
オプションプラグイン → ScyllaHide → オプション
プロフィールを選択プロフィールを選択またはチューニング
フックをアタッチアンチデバッグチェックを実行する前に有効化
実行実行を続ける、チェックがパスするようになる

プロフィール

プロフィール用途
プリセットテンプレート一般的なパッカー (例: VMProtect、Themidaスタイル)
カスタム頑固なターゲット用に個別フックを切り替え
保存/読み込みサンプル/パッカーごとにプロフィールを永続化

スタンドアロンインジェクション

# 実行中 (または起動された) プロセスにScyllaHideをインジェクト
InjectorCLIx64.exe <pid|path> HookLibraryx64.dll <profile>
オプション目的
Spawn vs attachターゲットをScyllaHide下で起動または後で接続
Hook libraryフックをインストールするDLL
Profile適用するアンチデバッグフック

典型的なアンパッキングワークフロー

ScyllaHideは通常、兄弟ツールと共にアンパッキングツールキットの一部です。

ツール役割
ScyllaHideアンチデバッグを回避してOEPまで実行可能にする
x64dbgデバッグして元のエントリーポイントに到達
Scyllaインポートアドレステーブルを再構築、PEをダンプ
Detect It Easyパッカー/形式を特定、アンパック済みファイルを検証
# コンセプト: 保護されたサンプルのアンパック
1. x64dbgでScyllaHideを有効にしてサンプルを読み込む
2. パッカースタブをOEPまで実行 (アンチデバッグは無効化される)
3. ScyllaでプロセスをダンプしてIATを再構築
4. Detect It Easyでダンプを検証

ScyllaHideと関連ツール

側面ScyllaHideTitanHide手動パッチング
レイヤーユーザーモードフックカーネルモードドライバーチェック単位のパッチ
カバレッジ広いAPI設定カーネルレベルのステルスパッチしたもののみ
セットアッププラグイン/インジェクトドライバーインストール退屈
最適用途日常的なREデバッグ深いステルスが必要ワンオフチェック

リソース