
HydraDragonAntivirus openedr-demo
動的解析と静的解析、Windows向けアンチウイルスによるリアルタイムマルウェア解析。オープンソースXDR(3つのEDRプロジェクト)、ClamAV、YARA-X、機械学習AI、行動分析、アンパッカー、難読化解除、デコンパイラ、ウェブサイトシグネチャ、Ghidra、Suricata、Sigma、カーネル、ハイパーバイザベースの保護など、想像を超える数多くの機能を備えています。
Hydra Dragon Antivirus
📚 詳細なドキュメント、アーキテクチャ図、コンポーネントガイドについては、プロジェクト Wiki をご覧ください。
警告: 活発な開発が進行中
このプロジェクトは本番環境には対応していません。 破壊的な変更、バグ、不完全な機能が発生する可能性があります。
⚠️ お知らせ: このリポジトリは、専門的なマルウェアアナリストおよびセキュリティ研究者専用です。 低レベルのシステムコンポーネントや実験的なセキュリティドライバが含まれており、安全に取り扱うには専門的な知識が必要です。
[!CAUTION]
🛑 ユーザーの責任と保護機能の制限
HydraDragon は、悪意のある自動化された脅威から保護するように設計されており、人為的ミスや意図的なシステム変更を保護するものではありません。
- 手動削除: このアンチウイルスは、
rd C: /s /qのようなコマンドの実行や、自分自身のファイルを手動で削除することを妨げません。あなた(管理者)が明示的に何かを削除している場合、それはマルウェアの侵入ではなく、実際のユーザーミスであると認識します。このシステムは、意図的な管理上の決定を妨げずに許可するように設計されています。- ドライバ/システムの誤設定: このソフトウェアは、互換性のないドライバの手動インストールや誤ったシステム設定からは保護しません。「Inaccessible Boot Device」や、手動によるレジストリ編集やドライバ実験によって引き起こされるその他のシステム障害は、マルウェアの挙動とはみなされず、ブロックされません。
- 実験的な性質: この実験的ソフトウェアの使用によって生じたデータ損失やシステム不安定の責任はあなたにあります。必ず最初に仮想マシン (VM) でテストしてください。
ワンマンプロジェクト
- HydraDragon は、主に 1 人の開発者によって構築された、3 年間にわたる独立したオープンソースのアンチウイルス/EDR プロジェクトです。
TODO
- プロジェクトに HydraDragonIDE を追加する (静的解析ツール)。
- Npcap は実際にはオープンソースではないため削除し、カスタム Suricata ビルドに置き換える。
プロジェクトの機能について
- 約1か月前にこう述べました: 注: このプロジェクトはあなたが思っているよりもはるかに複雑になっているため、私は Android に切り替えて AV-Test に参加し、プロフェッショナルテストに参加する最初のオープンソースアンチウイルスになる予定です: https://github.com/HydraDragonAntivirus/HydraDragonAV-Mobile
- そして今回の更新: 実世界では重いシグネチャなしにリアルタイム保護に焦点を当てる必要があるため、最高のシグネチャのみを使用し、動的解析ベースのアンチウイルスを Owlyshield + OpenEDR + Firewall だけに置き換えることを計画していました。
- というわけで、これもまた非常に複雑な作業になりそうです。自分に幸運を祈ります。
PC との互換性
-
プラットフォームサポート: このプロジェクトは x86-64 Windows 専用です。aarch64 およびその他のアーキテクチャはサポートされていません。
-
このインストーラは、クリーンな、またはフォーマットしたばかりの Windows PC で使用するように設計されています。
-
最良の結果を得るには、必要なサードパーティコンポーネントが手動でインストールされていないシステムにのみ HydraDragon Antivirus をインストールしてください。
重要な注意
以下のプログラムのいずれかが PC にすでにインストールされている場合は、このインストーラを実行しないでください:
- Python 3.12
- Node.js
- Npcap
- ClamAV
- Suricata
- OpenEDR または関連する EDR コンポーネント
これらのコンポーネントがすでにインストールされているシステムに HydraDragon Antivirus をインストールすると、バージョンの競合、パスの問題、サービスの競合、または予期しないインストーラの動作が発生する可能性があります。
推奨される使用法
このインストーラは以下で使用してください:
- 新しい Windows インストール
- クリーンなテストマシン
- 仮想マシン
- 既存のアンチウイルスエンジン依存関係がない PC
必要なコンポーネントがすでにインストールされている場合は、HydraDragon Antivirus をインストールする前にそれらをアンインストールするか、クリーンな Windows 環境を使用してください。
重要な注意事項と制限
プロジェクトの範囲
HydraDragon は、現在活発かつ実験的に開発中のローカルアンチウイルス (Xcitium クラウドを除く) プロジェクトです。
- システム上でローカルに動作します。
- 研究、学習、マルウェア解析の実験を目的としています。
このプロジェクトは、日常的に使用する主要なアンチウイルスソリューションを置き換えることを目的としていません。
検出の理念
- 誤検知が発生する可能性があります。
- このシステムは、マシンがクリーンな状態 (感染後ではない) であることを前提としています。
- このプロジェクトは、速度よりも深い分析を優先します。
- 目標は、迅速だが浅い検出ではなく、長期的な検出の改善です。
- これは、プロジェクトが 99% の検出率を達成することを意味するものではなく、開発理念を反映したものにすぎません。
- このアンチウイルスは、最高のシグネチャだけでなく、ほぼすべての新しいシグネチャも使用します。そのため、重いのです。
実験的なステータス
- これは非常に実験的なプロジェクトです。
- 以前のバージョンにおけるいくつかのアーキテクチャ上の決定は最適ではなく、安定性に影響を与えました。
- このプロジェクトは積極的に改善および洗練されています。
- 注意して使用してください。
既知の制限
- 2 GB を超えるファイルはスキャナによってスキップされ、スキャンされません。スキップされたファイルをクリーンとして扱わないでください。
- 透過的 TLS プロキシ/インスペクタは、証明書インストールの同意が有効な場合に、ローカルの HydraDragon Firewall CA 証明書をインストールする場合があります。ファイアウォール GUI で手動で追加/削除でき、アンインストーラはベストエフォートで削除します。
サンプル検出ポリシー
-
非常に古いマルウェアサンプルは検出されない場合があります。
-
シグネチャの退役に関する参考: https://blog.clamav.net/2025/12/clamav-signature-retirement.html
-
ブートクリティカルフィルタ:
MBRFilterは現在、SERVICE_BOOT_START (0) の UpperFilter として構成されています。これにより、ディスクスタックの初期化の最初の瞬間からマスターブートレコードが保護され、ブートキットや Petya 型ランサムウェアに対するハードウェアレベルの耐性が提供されます。 -
ジャンクまたは完全に未知のデータとして表示されるファイルは、意図的に無視される場合があります。
-
PE ヘッダーが削除された場合、一部の検出エンジンはそのファイルをフラグしなくなる可能性があります。
-
YARA 検出は、ルールロジックによっては引き続きトリガーされる場合があります (たとえば、ファイルタイプを検証しないルール)。
例:
PE ヘッダーが削除されたサンプル: https://www.virustotal.com/gui/file/9b7e921e971fe7523ba83a4599b4006ad214854eb043372129e4f5a68c5a427f
元のサンプル: https://www.virustotal.com/gui/file/1ef6c1a4dfdc39b63bfe650ca81ab89510de6c0d3d7c608ac5be80033e559326
インストールと使用上の注意
[!IMPORTANT] OpenEDR の長いパスの問題: OpenEDR には、Windows の既定の 260 文字のパス制限を超える深くネストされたディレクトリ構造が含まれています。クローンまたはビルドする前に、以下を実行してください:
git config --global core.longpaths trueこれがないと、OpenEDR コンポーネントのクローンまたはビルドはパス関連のエラーで失敗します。
- インストールプロセスは完全には自動化されていません。Npcap、ドライバ、ファイアウォールコンポーネント、およびその他の一部の依存関係は、セットアップ中に手動での承認が必要な場合があります。
- 自動アンインストーラで問題が発生した場合は、ELAM ドライバを手動でアンインストールする必要があります。レジストリのクリーンアップ手順については、アンインストールガイド を参照してください。
- セットアップ中の一時的な ClamAV 更新エラーは、無視して問題ありません。
- ドライバのインストールに失敗した場合は、セキュアブートを無効にして再試行してください。
- 一部の保護がアクティブに見える場合でも、アンチウイルスインターフェイスが完全に読み込まれるまで待つことをお勧めします。
- ELAM はテスト署名モードでは自動起動できないため、ドライバが悪用によって実行されるのを防ぐために、アンチウイルスの開始を遅延させています。(注: すべてのドライバは署名されている必要があります。WDK テスト署名は一般的な開発には受け入れられますが、ELAM ドライバには不十分です)。
- Sanctum の
cert.ps1/sign.bat/build.rsハッシュループは、開発および CI テストアーティファクトのプロセスのみを対象としています。実際の本番環境では、ローカルの自己署名sanctum.pfx、サンプル PFX パスワード、テスト署名/デバッグモードのブート設定、または CI で生成された ELAM ハッシュをsanctum.sysに同梱しないでください。本番ドライバのリリースでは、保護されたリリース署名パイプラインと Microsoft Partner Center / Hardware Dev Center の署名を使用する必要があります。ELAM の場合は、このローカルの自己署名ループではなく、HLK/WHCP パッケージ提出パスを使用してください。Sanctum 署名に関する注意事項 を参照してください。 - アンチウイルスを完全に機能させるには、メモリ整合性を無効にする必要があります。参考: https://github.com/adrianyy/kernelhook/issues/1
プロセス保護とオーケストレーション
- 統合オーケストレーション:
HydraDragonControllerは、セキュリティスタック全体のマスターオーケストレータとして機能します。C++ AV エンジン、Python EDR コア、Sanctum PPL ランナーのライフサイクルを管理します。 - 保護されたランチャー: アンチウイルスのランチャー自体も保護されています。管理者が手動で終了することはできますが、ドライバがすべての終了要求の発信元を検証するため、マルウェアが終了させることはできません。
- 手動制御: GUI を手動で閉じた場合でも、バックグラウンドのセキュリティエンジンはアクティブなままです。
検疫ディレクトリ
C:\ProgramData\HydraDragonQuarantine
ランサムウェア復旧の制限
- 現在のランサムウェア対応は、検出、ブロック、プロセス終了、検疫、テレメトリに重点を置いています。
- ランサムウェアがファイルを変更または暗号化した後に、自動でファイルを復元するフォールバックは現在ありません。
- シャドウコピーに基づくファイルロールバックは存在しますが、それらを信頼しないでください。
- サポートされているランサムウェア関連の永続化または構成変更に対するレジストリのロールバックはすでに存在します。これはファイルコンテンツの復元とは別です。
- 独立したバックアップと復元ポイントを維持してください。検出は復旧の代わりにはなりません。
ファイアウォール / HIPS アラートに関する注意
- ファイアウォールの「新しい接続」通知から表示されるすべてのアラートを検疫しないでください。
- 新しい接続アラートは、完全な自動マルウェア判定と同じではありません。
- ファイアウォールと HIPS のテレメトリはまだ部分的に分離されているため、一部のアラートは情報提供、コンテキスト依存、または検疫前に手動レビューが必要です。
- すべてのネットワークアラートが悪意があると想定するのではなく、最初にプロセスパス、親プロセス、宛先、およびその他のテレメトリを確認してください。
説明
現段階では:
-
このアプリケーションはローカルのみ (Xcitium クラウドを除く) で動作します。
-
機能が不完全または不安定な場合があります。
-
事前の通知なしに破壊的な変更が発生する可能性があります。
-
このプロジェクトは本番環境には対応しておらず、開発およびテスト目的でのみ使用する必要があります。
-
Windows 向けアンチウイルスによるリアルタイムマルウェア解析を備えた動的および静的解析。オープンソース XDR (3 つの EDR プロジェクト)、ClamAV、YARA-X、機械学習 AI、行動解析、アンパッカー、難読化解除、逆コンパイラ、ウェブサイトシグネチャ、Ghidra、Suricata、Sigma、カーネル、ハイパーバイザーベースの保護、そして想像を超える多くの機能を含みます。
ライセンス
このプロジェクトは GNU General Public License v2.0 (GPLv2) の下でライセンスされています。
詳細については、LICENSE ファイルを参照してください。
機械学習マルウェアおよび正常データベースのダウンロード
-
最新のデータベース:
-
PE 正常データベース (202k+): ダウンロードリンク
-
JS 正常データベース (53k+)ダウンロードリンク
-
JS マルウェアデータベース (39k+): ダウンロードリンク
-
PE マルウェアデータベースは同じままです。
-
古いデータベース (偽陰性と偽陽性を含む):
-
PE マルウェアデータベース (53k+): ダウンロードリンク
-
PE 正常データベース (204k+): ダウンロードリンク
-
JS 正常データベース (53k+): ダウンロードリンク
-
JS マルウェアデータベース (39k+): ダウンロードリンク
-
注: このコレクションには 10MB 未満の PE ファイルのみが含まれています。USB スティックが壊れて復旧できなくなったため、約 6,000 件の正常なサンプルが永久に失われました。これらのサンプルの中には VirusTotal にも存在しないものもありました。
-
パスワード: infected
機械学習トレーニングガイド
- 悪意のある (datamaliciousorder) データベースと正常な (data2) データベースをインストールし、train.py から requirements.txt をインストールして、datamaliciousorder と data2 と同じフォルダで train.py を実行するだけです。
- 次に、results.pkl を削除し、ml_definitions.pkl の名前を results.pkl に変更して、pickle データを統合します。
ソースからのコンパイルガイド
- ビルドドキュメントはコンポーネントごとのページに分割されています。
- コンポーネント固有のページは今後も追加される予定です。
Ghidra ソースコード
- 現在 12.0.4 を使用しています: https://ghidra-sre.org/
Java Development Kit
セットアップ
- リリース版のセットアップファイル HydraDragonAntivirus.exe
アンインストール
カーネルドライバとシステムサービスを完全に削除するには、アンインストールガイド に従ってください。
[!IMPORTANT] 保護されたドライバファイル (
.sys) と関連 DLL を完全に削除するには、セーフモードでの再起動が必要です。
Ghidra
- Ghidra: %ProgramFiles%\aHydraDragonAntivirus\hydradragon\ghidra
- Ghidra スクリプト: %ProgramFiles%\aHydraDragonAntivirus\hydradragon\scripts
Sigma-HQ - Hayabusa
- https://github.com/Yamato-Security/hayabusa/releases/tag/v3.9.0 (hayabusa-3.9.0-win-x64.zip)
重要
- 脆弱なドライバと感染後のリスク: このプロジェクトは
WinDivertなどのドライバを利用します。これらのドライバは現在脆弱です。このドライバが悪用されているのを見かけたら、おそらく感染しています。 - 感染後のシナリオ: このプロジェクトは、デフォルトでは、インストール時点でシステムがクリーンであることを前提としています。すでに感染したシステムをクリーンアップまたは修復するようには設計されていません。
- ゼロ責任: すでに侵害されたシステムにこれをインストールした場合、常駐マルウェアがこれらのドライバや集中型依存関係構造 (Python/Node.js) を悪用して権限を昇格または永続化する可能性があります。開発者は、感染後のシナリオにおけるいかなる損害についても責任を負いません。
- セーフモードで実行しないでください: HydraDragonAntivirus はセーフモードと互換性がなく、セーフモードでの実行は強く推奨されません。マルウェアがセーフモードを悪用するのを防ぐため、HydraDragonAntivirus には、セーフモードのブートオプションを有効にしたり、関連するレジストリ設定を変更したり、システムをセーフモードで起動するように強制しようとする試みを検出するセーフモード保護ルールが含まれています。
- QUIC プロトコルのブロック: HydraDragon Firewall は、従来の TLS 検査を回避するマルウェアを防ぐために、デフォルトで QUIC (UDP ポート 443) トラフィックをブロックします。これにより、アプリケーションは標準の HTTPS/TLS を使用するようになり、適切なディープパケットインスペクションが可能になります。一部の最新アプリケーション (Chrome、Firefox など) では、QUIC から HTTPS へのフォールバック時に初期接続遅延が発生する場合があります。
攻撃がどのように可能か (脅威モデル)
感染後の状態では、マルウェアはすでに先手の利点 (First Mover Advantage) を持っています。このプロジェクトは未署名のドライバとハードコードされたカーネル保護ルール (たとえば OwlyshieldRansomFilter や OpenEDR 自己防御ポリシー) を使用しているため、攻撃者は以下を実行できます。
- ディレクトリスクワッティング: マルウェアは、インストーラを実行する前に
C:\Program Files\HydraDragonAntivirusを事前に作成します。制限的な ACL を設定したり、「Poisoned」構成ファイルを配置したりします。ドライバが起動すると、ハードコードされたパスからこれらの悪意のあるルールを盲目的に読み込みます。 - 依存関係ハイジャッキング: Python と Node.js は AV のサブディレクトリにインストールされるため、マルウェアは悪意のある
python312.dllやnode.exeをそれらのフォルダに配置できます。AV は通常の動作中に、管理者権限で悪意のあるコードを無意識のうちに実行してしまいます。 - 脆弱なドライバの悪用 (BYOVD): 攻撃者は「Bring Your Own Vulnerable Driver」(またはここに含まれるドライバを悪用) して Windows カーネルの保護をバイパスできます。ELAM とデジタル署名がないため、AV は起動プロセス中に自身の ID や環境の整合性を検証できません。
強化されたルール配信とセキュリティアーキテクチャ
HydraDragon は、感染後の改ざんやパスベースの攻撃を防ぐためにゼロディスクルールアーキテクチャを使用します (カーネル向け):
- ゼロディスク依存: カーネルドライバは、ハードコードされたディスクパス (例:
C:\Program Files\HydraDragonAntivirus\hydradragon) から構成や除外ルールを読み取らなくなります。これにより、攻撃者がドライバの初期化前にルールファイルを置き換えたり「毒化」したりできるディレクトリスクワッティングやTOCTOU (Time-of-Check to Time-of-Use) の脆弱性が排除されます。 - 早期起動時の回復力: ルールをディスクからメモリに移すことで、早期に起動されたマルウェアが AV サービスの開始前にルールファイルを削除または置き換えようとする攻撃を軽減します。ただし、マルウェアがすでに永続化を達成している「感染後」のシナリオでは、AV バイナリ自体を削除しようとする可能性があります。これに対抗するため、HydraDragon は ELAM (Early Launch Anti-Malware) と PPL (Protected Process Lite) に依存して、サードパーティの悪意のあるコードが実行される前にアンチウイルスコアが初期化され、自己保護されるようにします。
[!IMPORTANT] ドライバセキュリティにとってハードコードされたディスクパスを避けることが重要である理由についての詳細なセキュリティ分析については、プロジェクト Wiki の保護メカニズムセクション を参照してください。
- 接続速度の低下を防ぐには、C:\Program Files\HydraDragonAntivirus\hydradragon\HydraDragonFirewall\settings.json の "late_blocking_mode" が true に設定されていることを確認してください。これにより、マルウェアの検出が少し遅れる可能性があります。
- デバッグするには、HKEY_LOCAL_MACHINE\SOFTWARE\Owlyshield\VERBOSE_LOGGING を 1 に設定することを忘れないでください。
- ファイアウォールの実行中に Windows が表示する証明書の信頼ダイアログを受け入れてください。
- プログラムを再起動すると、すべてのログが削除されます。注意してください!
- 解析後はプログラムを再起動する必要があります。
- ログに IP を共有しないでください。
- ClamAV データベースが問題なくインストールされていることを確認してください。
- 作業が終わったら、スナップショットを取得してから戻ることを強くお勧めします。
- ユーザー名はランダムにしてください (たとえば、アンチ分析を回避するため)。
- インストーラには、ClamAV データベースのダウンロードの問題により、daily.cvd、main.cvd、bytecode.cvd も含まれています。
- ロシアの IP から ClamAV シグネチャをインストールすることはできません https://github.com/Cisco-Talos/clamav/issues/500
Discord コミュニティサーバー
- サーバーリンクはこちら: https://discord.gg/7XMCuj5mbP
環境の準備
- ランサムウェアを検出するために、ファイルを大量に作成してください。
ガイド
注 1:.
- Windows ファイアウォールで Java を許可してください。PE ファイルを逆コンパイルするためです。
注 2:
- 問題を見つけた場合は、issue を作成してください。アンチウイルスソフトウェアは、Web サイトシグネチャが難読化されていないためにトリガーされる可能性があります。そのため、
%ProgramFiles%\aHydraDragonAntivirus\hydradragonフォルダを除外してください。リスクがあるため、VM 内でのみ使用してください。
注 3:- https://github.com/icsharpcode/ILSpy/tree/master/ICSharpCode.ILSpyCmd
-
https://github.com/GDATAAdvancedAnalytics/de4dotEx/releases/tag/3.4.0
-
https://www.rathlev-home.de/index-e.html?tools/prog-e.html#unpack
-
https://github.com/glmcdona/Process-Dump/releases/tag/v2.1.1
-
https://github.com/radareorg/radare2/releases/tag/6.1.4 (radare2-6.1.4-w64.zip)
-
これらのプロジェクトを逆コンパイルに使用しました。
-
これらのプロジェクトをAIに使用しました。
-
これらのプロジェクトをEDRに使用しました(最新のフォークは他のリポジトリではなくメインリポジトリに追加されていることに注意)。
-
https://github.com/danisss9/Xvirus (malvendor.db)
-
これらのプロジェクトをアンチウイルスに使用しました。
-
これらのプロジェクトをフッキングに使用しました。
-
これらのプロジェクトをMITMに使用しました。
-
これらのプロジェクトをシグネチャベースの検出に使用しました。
-
このプロジェクトをMBR保護に使用しました。
-
これらのプロジェクトをアンチウイルスの最適化に使用しました。
-
https://github.com/HyperDbg/RedDbg (SimpleSVMと統合する必要があるかもしれませんが、今のところこれを使用しています。)
-
これらのプロジェクトをハイパーバイザーに使用しました。
-
これらのプロジェクトをホワイトリストに使用しました。
-
https://github.com/swelljoe/clam-juice/blob/main/clam_juice.py
-
これらのプロジェクトをアンチウイルスのシグネチャ非肥大化に使用しました。
-
https://github.com/HydraDragonAntivirus/HydraDragonAntivirus/releases/tag/HashDatabase
-
これらのプロジェクトをハッシュベースの検出に使用しました。
注4:.
- インストールにはインターネット接続が必要です。オフラインインストーラではありません。
- インストーラの注意:セットアップがHyper-V/VBSを無効にしたり再起動を求めたりする場合、それはこのリポジトリのWindowsドライバとテスト互換性のためだけです。
- これは、wikiや他のフォルダで言及されている別のハイパーバイザー資料と同じものではありません。
注5:
- ランサムウェアなどに対するファイル処理中にスペースを取りすぎるため、クリーンアップを忘れないでください。
- すべてをログに記録するため、大量のストレージが必要です。
注6:
- 私はインターネットからすべての悪意のあるIP、ドメインを収集しました。そのため、大きな誤検知があるはずですが、私はそれらに対処します。
注7:
- Inno Setup バージョン 6.7.3
注8:
- Sanctumスキャナは完全なアンチウイルスエンジンスキャンではありません。一部の静的コンポーネントのみをチェックします。
ヒント
ヒント1:
- マシン上で怪しいVM名を使用しないでください。(John Doe など)
ヒント2:
- .logファイルのライブ変更を確認するには、VSCode、VSCodium、または別のエディタを使用してください。
ヒント3:
- ログの場所:
- コアエンジン(AV/Python):
%ProgramFiles%\HydraDragonAntivirus\hydradragon\antivirus_scripts\log\を参照してください。 - Sanctumエンジン:
%ProgramFiles%\HydraDragonAntivirus\hydradragon\Sanctum\logs\sanctum.logを参照してください。 - Sanctum PPL ランナー: このコンポーネントはWindowsイベントログ(ソース:
SanctumPPLRunner)にログを記録します。イベントビューアー -> Windowsログ -> アプリケーションを確認してください。 - メインコントローラー: Windowsイベントログ(ソース:
HydraDragonController)にログを記録します。
- コアエンジン(AV/Python):
ヒント4:
- ファイアウォールによるブロックを避けるため、VM上のWindowsファイアウォールを無効にしてください。私たちがテストしているのはこのプログラムであって、Windowsファイアウォールではありません。
FAQ
よくある質問については、FAQ.md を参照してください。
クレジット:
- すべての功績はEmirhan Uçanに帰属します(そう、Yusifが登場するまでは一人プロジェクトでした https://github.com/Siradankullanici)
- Yusif Musayevが、このプロジェクトが一人プロジェクトのままにならないように支援してくれたことに感謝します(https://github.com/elnureisayeva1-cloud)。
- いくつかの機械学習シグネチャを収集・編集してくれたHacı Muradに感謝します(https://github.com/hacimurad41)。
- Intel上でハイパーバイザーをテストしてくれたYusufに感謝します(https://github.com/caymazyusuf72)。
- .agentフォルダについてEmrahに感謝します(https://github.com/emrahd0732)。
抽出および逆コンパイルディレクトリ
このドキュメントは、実行可能ファイル解析ツールがさまざまな抽出、逆コンパイル、アンパック操作で使用するすべての出力ディレクトリについて説明します。
HydraDragon 抽出・逆コンパイル出力 — README
このドキュメントは、HydraDragon解析ツールが使用する出力ディレクトリと、各ディレクトリの内容について説明します。解析出力の隣にこのREADMEを置いて、アナリストが逆コンパイル済み・抽出済みアーティファクトをすぐに見つけられるようにしてください。
出力の構成
- 各抽出器/逆コンパイラは、解析ルートの下の専用ディレクトリに書き込みます。
- ツールは、同じパッカー/結果が複数回処理される際の上書きを防ぐために、番号付きサブフォルダ(
1/、2/、...)を作成します。 - 元のアーティファクトへのトレースを容易にするため、可能な限りファイル名とサブフォルダが保持されます。
- ディレクトリは抽出/逆コンパイルモジュールによって自動的に作成されます。
トップレベルのディレクトリカテゴリ(クイックリファレンス)
- パッカー/難読化ツールの抽出:
hydra_dragon_dumper_extracted/、upx_extracted/、themida_unpacked/、vmprotect_unpacked/、debloat/ - .NET解析:
dotnet/、obfuscar/、de4dot_extracted/、net_reactor_extracted/、un_confuser_ex_extracted/、eazfixer/ - Android/APK:
jadx_decompiled/、androguard/ - Python:
pyinstaller_extracted/、pyarmor8_and_9_extracted/、pyarmor7_extracted/、nuitka/、nuitka_extracted/、nuitka_source_code/、cx_freeze_extracted/、pylingual_extracted/、python_deobfuscated/、python_deobfuscated_marshal_pyc/、pycdas_extracted/、python_source_code/ - JavaScript / Node / Electron:
webcrack_javascript_deobfuscated/、asar/、npm_pkg_extracted/、decompiled_jsc/ - Java:
jar_extracted/、FernFlower_decompiled/ - インストーラ / アーカイブ:
inno_setup_unpacked/、advanced_installer_extracted/、installshield_extracted/、zip_extracted/、seven_zip_extracted/、tar_extracted/、general_extracted_with_7z/、pe_extracted/ - スクリプト逆コンパイラ:
autohotkey_decompiled/、autoit_extracted/ - Go / Ungarbler出力:
ungarbler/、ungarbler_string/ - その他 / 解析アーティファクト:
decompiled/、ole2/、memory/、resource_extractor/、html_extracted/
詳細なディレクトリ説明
(各行はディレクトリ名と、そこにあるファイルの目的を示しています。)
hydra_dragon_dumper_extracted/— Hydra Dragon Dumper(Mega Dumper Fork)の抽出出力。enigma1_extracted/— Enigma Virtual Box の抽出ファイル。decompiled/— 各種ツールによる一般的な逆コンパイル済みファイル。upx_extracted/— UPX(Ultimate Packer for eXecutables)の抽出ファイル。webcrack_javascript_deobfuscated/— webcrackで難読化解除されたJavaScriptファイル。inno_setup_unpacked/— Inno Setup のアンパック済みインストーラファイル。autohotkey_decompiled/— AutoHotkeyスクリプトの逆コンパイル出力。themida_unpacked/— Themidaのアンパック出力。nuitka/— Nuitka onefileの抽出ディレクトリ。ole2/— OLE2の抽出リソースと複合ファイル構造。dotnet/— .NETの逆コンパイル済みソース。jadx_decompiled/— JADXで逆コンパイルされたAPK(Javaソース)。androguard/— androguardによるAPKの逆コンパイル出力(smali/java)。asar/— ASAR(Electron)アーカイブの抽出内容。npm_pkg_extracted/— NPMパッケージの抽出(JavaScriptバンドル)。decompiled_jsc/— V8 / JSCバイトコードオブジェクトと逆コンパイル済みアーティファクト。obfuscar/— Obfuscarで難読化された.NETアセンブリ。de4dot_extracted/— de4dotを使用して難読化解除された.NETファイル。net_reactor_extracted/— .NET Reactor Slayerの出力。un_confuser_ex_extracted/— UnConfuserExの難読化解除出力。eazfixer/— Eazfuscatorで保護された.NETアセンブリに対するEazFixerの難読化解除出力。pyinstaller_extracted/— PyInstaller onefileの抽出結果。pyarmor8_and_9_extracted/— PyArmor 8/9のアンパック出力。pyarmor7_extracted/— PyArmor 7固有のアンパック出力。cx_freeze_extracted/— cx_Freezeのlibrary.zipの内容を抽出したもの。pe_extracted/— PEファイルの内部と抽出されたセクション/リソース。zip_extracted/— ZIPアーカイブの内容。seven_zip_extracted/— 7-Zipアーカイブの内容。general_extracted_with_7z/— 7-Zip操作のための一般的な抽出エリア。nuitka_extracted/— Nuitkaのバイナリ出力とサポートファイル。advanced_installer_extracted/— Advanced Installerの抽出出力。tar_extracted/— TARアーカイブの内容。memory/— 動的解析のメモリダンプファイル(.dmp / 生メモリダンプ)。resource_extractor/— リソース抽出器によって抽出されたRCDataおよび埋め込みリソース。ungarbler/— 難読化解除されたGo(garble)バイナリと出力。ungarbler_string/— Go Garble出力から難読化解除された文字列。debloat/— デブロートされたファイルのディレクトリ(トリミングされたインストーラ/バイナリ)。jar_extracted/— JARファイルの抽出内容。FernFlower_decompiled/— FernFlowerで逆コンパイルされたJAR。pylingual_extracted/— pylingualで逆変換されたPythonソース(.pyc -> .py)。vmprotect_unpacked/— VMProtectのアンパック済みディレクトリ。python_deobfuscated/— 難読化解除されたPythonソース。python_deobfuscated_marshal_pyc/— marshal blobから難読化解除された.pyc。pycdas_extracted/— pycdas / Decompyle++ で抽出されたPythonソース。( 2025年10月21日)python_source_code/— 抽出・整理されたPythonプロジェクトソース。nuitka_source_code/— Nuitkaのリバースエンジニアリングされたソースツリー。html_extracted/— 解析中に取得されたHTMLおよびWebページリソース。installshield_extracted/— InstallShieldのアンパック出力。autoit_extracted/— AutoItスクリプトの抽出結果。
使用方法とベストプラクティス
- 実行後、各抽出ディレクトリを調べて、構成ブロブ、埋め込みリソース、文字列、疑わしいバイナリを特定します。
- 抽出出力を再生成する必要がある場合は、該当する抽出器を再度実行してください。番号付きサブフォルダにより、誤った上書きが防止されます。
トラブルシューティング
- ディレクトリが空の場合は、対応する抽出ログでエラーを確認してください。バイナリが破損しているとツールが静かに失敗することがあります。
- 参照が不正な形式に見える場合(例:
Unknown.0,Unknown)、提供されているreference_fix_and_rebuild.pyを実行して参照を正規化・再構築してください。 - ローダーが遅い場合は、ルックアップごとにすべてのシャードを再ロードするのではなく、シャードキャッシュまたはバッチクエリを有効にしてください(ローダーのドキュメントを参照)。
連絡先
このREADMEの変更や新しい抽出ディレクトリの追加については、このファイルを更新してリポジトリにチェックインし、誰もがマッピングを確認できるようにしてください。
寄付:
- HydraDragonAV-Mobileの作者に寄付するには、こちらへ:https://boosty.to/yusif_musayev/single-payment/donation/817954/target?share=target_link (Yusif Musayev HydraDragonAV-Mobileの作者)