Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
datadome-vm-internals — カスタム難読化VMとバイトコード形式のDataDomeの解析により、文字列暗号化、S-box暗号、ブラウザフィンガープリンティングシグナルを明らかにし、リバースエンジニアリング教育のための内容を提供します。 | Kitploit
ツール/GitHubGitHub/manjustice/datadome-vm-internals
リバースエンジニアリングマルウェア分析バイナリ解析論文と研究学習と教育アンチボット
GitHubmanjustice/datadome-vm-internals

datadome-vm-internals

カスタム難読化VMとバイトコード形式のDataDomeの解析により、文字列暗号化、S-box暗号、ブラウザフィンガープリンティングシグナルを明らかにし、リバースエンジニアリング教育のための内容を提供します。

リポジトリを見る
2754ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

DataDome VM

DataDomeは、実際に行っている処理を隠すために、独自のVMをバンドルに埋め込んでいます。興味が湧いて分解してみました。同じようなリバースエンジニアリングパズルに興味がある方のために、ここで共有します。

DataDomeは、高度に難読化されたJavaScriptバンドルをブラウザに送信します。その中にはカスタム仮想マシンが含まれており、実際のフィンガープリンティングロジックを独自のバイトコード形式にコンパイルし、実行時にそのVM内で実行します。これは、執筆時点での最新バージョンの分析です。

このリポジトリにはDataDomeのコードは一切含まれておらず、私自身の解析とツールのみが含まれています。

使用する前に、下部にある注意事項をお読みください。


内部で興味深い点

バイトコードを読み解けるようになると、いくつかの点が際立ちます。

文字列の暗号化。 すべての文字列は、バイトコードの先頭にある単一の暗号化ブロブに格納されています。各文字列は実行時に、テーブルヘッダーに埋め込まれたシードと組み合わせたエントリごとのXORキーを使用してデコードされます。そのため、生のバイトを読んでも、シードが分からなければ何もわかりません。

S-boxテーブルが至るところに。 バイトコードの最初の約20KBは、ほぼすべてPUSH_N_IMM + ARRAY_FROM_STACKシーケンスで構成され、256バイトのルックアップテーブルを構築しています。これらはS-boxであり、おそらく収集したシグナルを送信前にハッシュ化するための独自の暗号やAESラウンドに使用されます。

文字列をデコードした後に実際に確認できるフィンガープリンティングシグナル:

  • Canvas: 矩形を描画し、ピクセル値を読み取る
  • WebGL: 完全なシェーダーソースがデコードされると平文で存在する
  • Timing: 基本的に完全なナビゲーションタイムライン
  • Memory: 現在のJSヒープ使用量
  • Screen: 解像度とピクセル比
  • DOMトリック: 非表示要素を注入し、フォントレンダリングとレイアウトを測定する
  • Automationチェック: 古典的なwebdriver検出

注意事項

このプロジェクトは、カスタムVMによる難読化が実際にどのように機能するかについての好奇心を満たすためにのみ存在します。これはリバースエンジニアリングの学習教材であり、ボット検出を回避するためのツールではありません。

この知識をどう使うかは、あなた次第です。

ツールをダウンロード