Commit Graph
39 Commits
Author SHA1 Message Date
tkgstratorandClaude Opus 4.6 6372205587 docs(spec): 未実証の関係を点線に変更、Phase 1/2 図を修正
- kAppBootKey → key 33.6 の暗号化を点線(未実証)に変更
- kAppBootEccKey の署名検証も点線に変更
- key 33.6 リクエスト (464B) をオレンジ(由来不明)に追加
- Phase 2 に DH_compute_key ノードを追加(サーバー公開鍵入力を明示)
- 凡例に点線の説明を追加

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 16:54:36 +00:00
tkgstratorandClaude Opus 4.6 a4e9d6b9f4 docs(spec): 鍵関係図に Phase 2 KDF 解明結果と由来不明の 48B 鍵を反映
- Phase 2 を「未解明」→「解明済み」に更新
- 48B 鍵をオレンジ色(由来不明)として追加
- enc_key_0/sign_key_0 を黄色(計算可能)に変更
- シーケンス図に HMAC-SHA384 フローを追記
- 鍵一覧テーブルに 48B 鍵を追加
- 未解明ポイントを更新

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 16:31:45 +00:00
tkgstratorandClaude Opus 4.6 b4f5c51afd docs(plans): Phase 2 KDF プランのタスク完了状態を更新
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 16:16:44 +00:00
tkgstratorandClaude Opus 4.6 dc282686e7 docs(spec): Phase 2 KDF 解析結果を文書化 — HMAC-SHA384(TFIT_KEY, 0x00||DH_SHARED)
DH 共有秘密から初期セッション鍵を導出するアルゴリズムを解明:
- HMAC-SHA384 with 48B TFIT key, 0x00 prefix + 128B shared secret
- enc_key = output[0:16], sign_key = output[16:48]
- HKDF は NFWebCrypto に存在しないことを確認
- テストベクタで検証済み

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 16:16:14 +00:00
tkgstratorandClaude Sonnet 4.6 bed56549d6 feat(crypto): Phase 2 TFIT KDF による初期セッション鍵導出を実装
HMAC-SHA384(tfit_key, 0x00 || dh_shared_secret) で enc_key/sign_key を
導出する derive_initial_session_keys を NetflixCrypto に追加。
tools/verify_phase2_kdf.py で検証済みテストベクタ + Phase 3 チェーンを確認。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 16:14:08 +00:00
tkgstratorandClaude Sonnet 4.6 e6856a96f0 feat(tools): Phase 2 KDF 仮説検証ツール群を追加・拡張
find_phase2_hmac_chain.py に以下のセクションを追加:
  - pre_appboot HMAC 中間値 (19def2f9/e60e376f/58c4e3d1) を PSK 代替として使用
  - enc_key_0 (0817065e) を起点とした逆算セクション
  - Phase 3 整合性確認: enc_key_0→enc_key_1, sign_key_0a→sign_key_1 の
    KDF チェーンが正しく一致することを確認 (sign_key_0 = 91f752f7 を特定)
  - enc_key_0 の DH 由来ブルートフォース

find_phase2_kdf_variants.py に以下のセクションを追加:
  - enc_key_0 (0817065e) を別ターゲットとした全 KDF バリアント試行
  - AES Key Wrap (RFC 3394) による key 33.6 アンラップ試行

tools/decrypt_key_response.py を新規作成:
  - key 33.6 (96B) を [IV:16][CT:48][HMAC:32] 構造として仮定し復号試行
  - 仮説 A/A2/B/C の全パターン (IV なし/あり, wrap_key 66 候補)
  - 全 232 件の appboot レスポンスファイルへの一括適用
  - HMAC 署名検証: HMAC(sign_key, IV||CT) == key336[64:96] の独立確認
  - 平文のオフセット探索 (enc_key が先頭以外にある場合)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 15:50:08 +00:00
tkgstratorandClaude Sonnet 4.6 16d48285cb feat(tweak): add AppbootKDF tweak for Phase 2 KDF intermediate state capture
Hooks NFWebCrypto DH_compute_key (dhDerive), HKDF_extract/expand/one-shot,
AES_set_encrypt_key/decrypt_key (aesCbc), HMAC one-shot and HMAC_Init_ex/Final
with os_log subsystem "com.netflix.kdf" and per-function categories.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 15:46:59 +00:00
tkgstratorandClaude Sonnet 4.6 87c9644dea feat(frida): Phase 2 KDF 全暗号操作トレーサースクリプトを追加
DH 共有秘密から enc_key_0/sign_key_0 への変換を特定するため、
DH_compute_key 〜 AES_set_*_key 間の全 HMAC/SHA/AES 呼び出しを
同一スレッドのみ記録し、シーケンスサマリとクロスリファレンスを出力する。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 14:09:25 +00:00
tkgstratorandClaude Opus 4.6 f3e723b83a feat(frida): appboot DH共有秘密の手動計算と初期鍵復号試行スクリプト
DH_generate_keyフックでDHハンドルを保存し、サーバー公開鍵を手動設定後
NativeFunctionでDH_compute_keyを呼び出して共有秘密を計算する。
SHA-384/SHA-256/HMAC等の複数候補鍵でkey 33.6の復号を試行し、
復号結果にKDFを適用して既知のenc_key_1と照合する。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:48:48 +00:00
tkgstratorandClaude Opus 4.6 19d978ccb1 fix(docs): ライフサイクル図にMermaidダークテーマを適用
theme: dark ディレクティブを追加し、テキストの視認性を改善。
rect の透過度も調整。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:35:44 +00:00
tkgstratorandClaude Opus 4.6 00957394bc fix(docs): ライフサイクル図をダークモード対応に変更
rect の背景色を rgba 半透明に変更し、ダークモードで視認性を確保。
冗長なラベルも簡潔に整理。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:35:03 +00:00
tkgstratorandClaude Opus 4.6 e620d4c7dc fix(docs): Mermaid図の括弧をパース可能な形式に修正
Mermaidのgraphノードラベル内の括弧がノード形状として解釈されるバグを修正。
全セクションで括弧を除去し、subgraphにはID付き構文を使用。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:33:52 +00:00
tkgstratorandClaude Opus 4.6 f7110ba645 docs(spec): ログイン時の鍵配送解析結果を反映
- msl_key_relationship: Phase 4 (ログイン鍵配送) を追加
  enc_key_1でAES-CBC復号 → enc_key_2/sign_key_2を取得する流れを図示
  シーケンス図、検証データ、二重署名構造、フック制約表を追加
- msl_kdf_analysis: ログイン鍵配送の検証データ、二重署名構造を追記
  KDFは常にenc_key_0/sign_key_0を入力とすることを明記

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:27:15 +00:00
tkgstratorandClaude Opus 4.6 f6b85f0b97 fix(tweak): AES_cbc_encryptフック無効化とEVPフックコメントアウト
- AES_cbc_encrypt: MSHookFunctionのトランポリンが関数を破壊することを確認
  → パススルーのみでも "Found Error Header in Msl response" エラー発生
  → フック無効化 (Fridaで代替可能)
- EVPフック: #if 0 でコメントアウト (NFWebCryptoのEVPはTFIT専用)
- Makefile: -Wno-unused-function 追加 (bisect用の無効化コードに対応)
- 全Group bisect完了: Group 1-4 (DH, AES key, HMAC, streaming HMAC) は安全

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:03:17 +00:00
tkgstrator 9f0aa728f7 docs(readme): add English README and improve structure, add language badge
Introduces an English README as the main documentation and moves the Japanese
version to a dedicated file with a language switcher badge. Updates README
structure and content for clarity, consistency, and ease of navigation for
both English and Japanese readers.
2026-04-08 12:54:01 +00:00
tkgstratorandClaude Opus 4.6 db2e6c3375 feat(tweak,msl): EVPフック追加・無効化とKDF鍵更新実装
- Tweak: EVP_CipherInit_ex/Update/Final, EVP_DecryptInit_ex/Update/Final フック追加
  → NFWebCrypto内のEVPはTFIT(ENC)専用でMSL復号には使われないことを確認
  → RSA public key not found エラーの原因となるため #if 0 で無効化
- Python: kdf_renew() 実装と検証データによるテスト
- constants: IOS_KDF_PSK / IOS_KDF_NONCE をハードコード定数として追加
- docs: KDF解析仕様書と鍵関係図(Mermaid)を追加

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 12:52:41 +00:00
tkgstrator 30b5130271 docs(agents): rewrite agent docs and comments in English
Migrates all agent documentation, comments, and templates from Japanese to clear and consistent English.

Improves accessibility and collaboration for non-Japanese speakers, ensures alignment across project documentation, and standardizes formatting and terminology.

No functional or code logic changes are included.
2026-04-08 10:33:12 +00:00
tkgstrator 8f07f24da6 feat(tweak): add HKDF hook and remove frida/proxyman skills
Hooks HKDF_extract and HKDF_expand in the tweak for improved key derivation
logging and analysis. Removes Frida and Proxyman skills, references, and
documentation for a more focused Agent Team workflow.

Adds several Python tools for systematic HKDF and session key derivation
analysis, supporting ongoing reverse engineering and debugging efforts.

Switches all agent workflow documentation and prompts to English, clarifies
inter-agent communication constraints, and updates the workflow to reflect
current team structure and supported features.

Relates to the need for more accurate key extraction and simplified agent
usage.
2026-04-08 10:32:32 +00:00
tkgstrator f481f03124 feat(msl-ios): improve iOS CBOR MSL decryption and tweak DH key capture
Enhances iOS MSL CBOR decoder for multi-item parsing, iOS-specific payload
handling, and IV extraction from ciphertext. Updates NetflixCrypto to support
Tweak-format key JSON. Extends the Tweak to capture DH key exchange material
and session keys more reliably, saving full key histories and implementing
better appboot phase tracking. Adds scripts for DH-derived HKDF parameter
analysis and appboot key response investigation.

Improves documentation on iOS CBOR MSL protocol differences, decryption
pipeline, and key extraction workflow.

Relates to iOS MSL traffic analysis and decryption research.
2026-04-08 10:18:44 +00:00
tkgstrator f3e91bf143 feat(docs,tools): add iOS MSL analysis docs and HKDF param search scripts
Introduces detailed documentation for the iOS Netflix MSL client, including work plans and a comprehensive decryption pipeline, to support reverse engineering and protocol understanding.

Adds Python scripts that automate brute-force searching of HKDF parameters, support key derivation analysis across multiple encryption and HMAC key candidates, and verify DH parameter consistency.

Facilitates future development of a standalone iOS MSL client and aids in identifying the correct key derivation logic needed for cross-platform manifest decryption.
2026-04-08 10:12:57 +00:00
tkgstrator b9fdfc5f4f feat(tweak): add AppbootKeyExtract for Netflix appboot key extraction
Introduces a new tweak project to extract Diffie-Hellman and session keys
from the Netflix iOS app using Security.framework and function hooks.
Updates documentation for improved iOS device connectivity via USB and
iproxy, and clarifies setup instructions. Adjusts devcontainer port
forwarding to expose only necessary ports.

Relates to planned appboot DH key extraction workflow.
2026-04-08 09:14:40 +00:00
tkgstrator 6e35bfff9b chore(vscode): python仮想環境の自動有効化を無効化
Python拡張のターミナルで仮想環境自動有効化を無効化し、手動で環境管理できるようにすることで、開発フローの柔軟性を向上させる。
2026-04-08 05:53:59 +00:00
tkgstrator b105cbe3b6 docs(readme): macOS向けiproxy経由の接続手順を追加
macOSユーザーがUSB経由で簡単にiPhoneへ接続できるよう、
iproxyを利用した手順とSSH設定例をREADMEに追記。
Frida接続先の説明も補足し、設定時の利便性を向上。
2026-04-07 12:47:27 +00:00
tkgstrator 4dc7518d67 docs(readme): SSHのProxyJump設定方法とFrida接続手順を追記
macOSを踏み台としたSSH ProxyJumpの具体的な設定例をREADMEに追加し、
Fridaの接続手順をより明確に説明。

これにより、環境構築時の接続経路やトンネル確立手順が分かりやすくなり、
設定ミスの防止や作業効率向上に寄与する。
2026-04-07 12:45:52 +00:00
tkgstrator d0336cf28a docs(readme): README構成刷新と開発環境・利用手順を詳細化
リポジトリ名・説明・構成図を刷新し、iOS/Androidリバースエンジニアリング環境の
セットアップ・利用手順を大幅に詳述。特にiOS Tweak開発やmacOSホスト設定、
LAN経由プロキシ設定など、実運用に即した情報を追加した。

また、.devcontainerでmitmproxy用ポートを公開し、.vscodeでLAN向けポート公開
設定を追加。README内で各ツールの役割や構成の最新化も行い、初学者や再構築時の
分かりやすさを向上。
2026-04-07 12:27:12 +00:00
tkgstrator a69edeba2d feat(devcontainer): Theos統合とAppDelegateフック修正、関連ドキュメント更新
Theosビルド環境をappコンテナに統合し、サイドカーtheosコンテナやdocker関連設定を削除。
AppDelegateのフックを正しいクラス名/継承関係で実装し直し、ログ出力で動作確認。
起動時のシェル初期化・バックグラウンドログ収集を追加。
各種ドキュメント、タスク、パッケージ名も新構成に合わせて更新。
2026-04-07 09:37:44 +00:00
tkgstrator 1d06301d11 feat(tweak): NetflixSSLBypassをos_log対応&ロード監視強化、CBOR MSL復号支援
- NetflixSSLBypass Tweakを大幅簡略化し、ロード時のos_log出力・UIViewControllerフックログを追加
- C/Swift分離で初期化・Orion安定化、ロード検知精度を向上
- ログ監視エージェント(log-monitor)を新設し、Frida/mitmproxy/Tweakの3系統ログを横断監視・復号状況レポート可能に
- iOS用CBOR MSLメッセージの復号・エンコードパイプラインと検証CLIを新規実装
- Theosビルド/デバイス接続/ファイル分割等の運用ルールを明文化し、計画・レポート雛形もアップデート

Netflix iOS解析の自動化・再現性向上、及び復号パイプラインのクロスプラットフォーム化を目的とする
2026-04-07 06:36:03 +00:00
tkgstratorandClaude Opus 4.6 dd5e5b9375 feat(chrome-extension): Chrome拡張とtasks.json更新
- packages/chrome-extension/: EME/Web Crypto/HTTP監視用Chrome拡張
- .vscode/tasks.json: Theosビルドタスクを追加
- mitmproxy-ca-cert.pem をgitignoreに追加

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 02:07:37 +00:00
tkgstratorandClaude Opus 4.6 1b3e4d1fe2 feat(tools): MSLクライアント実装と解析ツールを追加
- src/netflix_msl/: Python MSLクライアント (鍵交換, 暗号化/復号, マニフェスト取得)
- tools/run.py: Fridaフックランナー (@@LOG@@パース, JSONL保存, crypto表示改善)
- tools/find_appboot.js: appboot関連シンボル検索
- tools/check_tweak.js: Tweakロード状態確認
- tools/dump_rsa_key.py, verify_key.py 等の解析ユーティリティ

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 02:07:22 +00:00
tkgstratorandClaude Opus 4.6 22f8817867 feat(frida,mitmproxy): Fridaフック改善とmitmproxyキャプチャスクリプト追加
- hook_netflix_ios.js: readVec修正 (toUInt32), aesCbcEncryptDecrypt独立フック,
  key_b64キャプチャ対応, hookCrypto有効化
- hook_appboot_bypass.js: appboot SSLピンニングバイパス (Frida版)
- hook_appboot_openssl_bypass.js: OpenSSL C関数バイパス
- hook_crash_trace.js: クラッシュ時スタックトレースキャプチャ
- netflix_ios_capture.py: mitmproxyアドオン (TLSパススルー, Netflix通信キャプチャ)
- msl_decoder.py: MSL CBOR/JSONデコーダー

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 02:07:10 +00:00
tkgstratorandClaude Opus 4.6 416824d31f chore(tweak): Theosビルド成果物をgitignoreに追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 02:06:57 +00:00
tkgstratorandClaude Opus 4.6 d7d2a72c37 feat(tweak): NetflixSSLBypass — MSL鍵キャプチャ用iOS Tweakを追加
- Orion (Swift) + ElleKit C フックによるSSLピンニングバイパス
- Layer 1-4: ObjC フック (NflxTrustStore, PinnedCertEvaluator, IosMslClient, NFURLSession)
- Layer 5: OpenSSL verify / X509_verify_cert Cフック
- Layer 6: EVP_CipherInit_ex / EVP_CipherUpdate フック (TFIT鍵導出キャプチャ)
- Layer 7: MslClient aesCbcEncrypt/Decrypt オフセットフック (MSLセッション鍵キャプチャ)
- ctor.c: __attribute__((constructor)) でOrion非依存の初期化
- ログ出力: サンドボックス内 JSONL ファイルに key/iv/plaintext を保存

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 02:06:33 +00:00
tkgstratorandClaude Opus 4.6 d91af8380b docs: Netflix仕様書の再構成とiOS解析ドキュメント追加
- 旧ドキュメント (docs/netflix/, docs/instructions/ 等) を削除
- docs/spec/: appboot ピンニング解析、iOS再生フロー、
  MSL CBOR鍵交換解析、キャプチャ復号状況、暗号化フロー図を追加
- docs/netflix_client_spec.md, platform_flow_comparison.md を追加
- iOS認証・マニフェスト・ライセンス取得フロー詳細を追加

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 02:06:14 +00:00
tkgstratorandClaude Opus 4.6 da256f1575 feat(claude): CLAUDE.md とカスタムエージェント定義を追加
- CLAUDE.md: プロジェクト概要・構成・コード規約を定義
- .claude/agents/: leader, tweak-engineer, frida-engineer,
  mitmproxy-engineer, python-engineer のエージェント定義
- .claude/skills/compose.md: Agent Teams ワークフロースキル
- .claude/projects/: メモリファイル (feedback, project, reference)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 02:06:05 +00:00
tkgstratorandClaude Opus 4.6 60f6a03024 build(devcontainer): Theos サイドカーコンテナと開発環境を整備
- Theos ビルド用サイドカーコンテナを追加 (.devcontainer/theos/)
- VSCode tasks.json に Theos ビルド・mitmproxy タスクを追加
- .envrc にデバイス IP / UIポート設定を追加
- .envrc.local.example を新規追加

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 02:04:41 +00:00
tkgstrator 3443ac2d50 refactor(tools): スクリプトとハンドラのディレクトリ構成を整理
プロジェクトの可読性と保守性向上のため、
各種スクリプトやハンドラを専用ディレクトリへ移動。
今後の管理や拡張が容易になるよう構成を最適化。
2026-04-06 07:56:49 +00:00
tkgstrator 349a67fdb5 build(devcontainer): GitHub CLIの導入で開発環境を強化
GitHub CLIを開発コンテナに追加し、リポジトリ操作や
CI/CDワークフローの利便性を向上。
チーム開発や自動化タスク対応を見据えた機能強化。
2026-03-15 09:55:22 +00:00
tkgstrator 753b3da861 docs(netflix): Netflixクライアント通信仕様書と関連技術文書を新規追加
Netflix iOS/Androidアプリのリバースエンジニアリング結果をもとに、
通信仕様書および全技術ドキュメント(アーキテクチャ、MSL、ESN、認証、API、DRM、プロファイル、ヘッダー・Cookie、CDN、付録)を新規追加。
  
これにより、アプリ通信やDRM、認証フロー、ストリーミングプロファイル等の全体像と詳細な観測内容を体系的に参照可能となる。

あわせて、コミットメッセージAI生成設定・運用ルールも改善。
Git署名設定を一時的に無効化し、ドキュメント作成日時ルールを明文化。
2026-03-15 09:54:40 +00:00
tkgstrator 28819b6f25 chore: prepare for commit message generation without code changes 2026-03-14 18:29:30 +00:00