tkgstrator and Claude Opus 4.6
b8b27b1ef9
feat(re): appboot署名検証鍵を抽出し未知の値の調査レポートを作成
...
- kAppBootKey (RSA-4096) / kAppBootEccKey (P-256) / kSharkBootKey を
NFWebCrypto.framework から静的抽出し constants.py に追加
- DH prime p は MslClient.framework @ 0x001265a0 で確認済み
- apphmac / devicetoken / device_key_data はランタイム生成と判明
- docs/spec/unknown_values_report.md に全調査結果を記載
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 08:43:08 +00:00
tkgstrator and Claude Opus 4.6
9f30354059
docs(spec): key 33.6 平文の詳細構造を解明 — CBOR ヘッダ固定、7B nonce ランダム
...
352B: ヘッダ全セッション固定(128B) + TFIT+MGK(160B) + 7Bランダムnonce×3(64B)
144B: map(6)軽量版、セッション領域なし、DH認証なしの軽量リクエスト
kAppBootKey/kAppBootEccKeyは署名検証用(確定済み)
全未解明ポイントを解消
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:46:02 +00:00
tkgstrator and Claude Opus 4.6
4358454005
docs(spec): kAppBootKey/kAppBootEccKey は署名検証用と確定
...
- Phase 1 図: 点線→実線に変更 (RSA verify + ECDSA verify)
- kAppBootKey も図に追加
- 鍵一覧テーブル: 「用途未確認」→「署名検証」に更新
- 未解明ポイントから削除、解決済みに移動
- kSharkBootKey/kSharkBootKey_Test も新発見
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:40:54 +00:00
tkgstrator and Claude Opus 4.6
892d5adb58
feat(re): kAppBootKey/kAppBootEccKeyの用途を静的解析で確定(署名検証)
...
radare2でNFWebCrypto.frameworkを解析し、両鍵がimportKey(usage=VERIFY)で
インポートされ、RSA_verify/ECDSA_verifyで使用されることを確認。
従来のRSA暗号化仮説を署名検証モデルに修正。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:39:21 +00:00
tkgstrator and Claude Opus 4.6
1c698873d9
docs(spec): ライフサイクル図を実行順に再構成、全ステップの操作を明記
...
- 実行順 (0→3→1→2→4→5) でシーケンスを並べ直し
- Phase 3 が Phase 1 の前に実行されることを図上で明確化
- 各 Phase の具体的な暗号操作と入出力を英語で記述
- Phase 1: TFIT エンコード + XOR + サーバー応答の PubKey 抽出を追加
- Phase 2: bootstrap_key = [16:48] を明記
- ラベルを英語に統一
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:11:40 +00:00
tkgstrator and Claude Opus 4.6
a31567f025
docs(spec): Phase 1 で key 33.6 → Server DH PubKey 抽出を明示
...
key 33.6 (96B) から Server DH PubKey (128B) を取り出すステップを追加。
Phase 2 には PubKey のみが渡されることを図で明確化。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:09:47 +00:00
tkgstrator and Claude Opus 4.6
a7d9efdfd4
docs(spec): appboot Response を key 33.6 / 33.9 に分解
...
appboot Response key 33 を Server DH PubKey と省略していた問題を修正。
key 33.6 (Server DH Response 96B) と key 33.9 (Server nonce 16B) に分離。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:07:59 +00:00
tkgstrator and Claude Opus 4.6
cb5483e8ac
docs(spec): Phase 1 の from Phase 0 参照を enc_key_0/sign_key_0 に修正
...
存在しない「MGK Pair」ラベルを削除し、Phase 0 の実際の出力名で参照。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:06:31 +00:00
tkgstrator and Claude Opus 4.6
6207f69d58
docs(spec): to Phase N をノードに統一、全Phase間参照を明示
...
- エッジラベルの to Phase X を削除し [/"to Phase N"/] ノードに統一
- Phase 0: enc_key_0/sign_key_0 → to Phase 1, 3
- Phase 1: DH PrivKey → to Phase 2, DH Resp → to Phase 2
- Phase 2: bootstrap_key → to Phase 5
- Phase 3: session_bind → to Phase 2, enc_key_1 → to Phase 4
- Phase 4: enc_key_2/sign_key_2 → to Phase 5
- Phase 5: 操作の役割をエッジラベルから出力側に移動
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:05:33 +00:00
tkgstrator and Claude Opus 4.6
5c2ab9f609
docs(spec): Phase 1 に DH PrivKey 出力を追加、Phase 2 の参照を統一
...
- Phase 1: DH_generate_key から PrivKey 出力 + to Phase 2 参照を追加
- Phase 2: Client DH PrivKey を from Phase 1 参照ノードに変更
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:03:47 +00:00
tkgstrator and Claude Opus 4.6
e0cb78299f
docs(spec): Mermaid 図の記法を統一
...
- 四角 [""] → データ, 角丸 ([""]) → 暗号操作, 平行四辺形 [/""/] → Phase 間参照
- エッジラベルはデータの役割 (HMAC key, decrypt key 等)
- Phase 間参照を from/to Phase N ノードで統一 (グレー)
- 凡例にノード形状・色・線種の定義を追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 02:01:07 +00:00
tkgstrator and Claude Opus 4.6
90751f7314
docs(spec): 実行順序の注釈を追加 (Phase 3 → Phase 1-2 の順序を明示)
...
Phase 番号と実行順が異なることによる循環参照の誤解を防ぐため、
実行順序 (0→3→1→2→4→5) を明記。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 01:58:01 +00:00
tkgstrator and Claude Opus 4.6
bfc5b59429
docs(spec): Mermaid 図のラベルを全て英語に変更
...
日本語ラベルは図中で読みにくいため、全ノード・エッジラベルを英語化。
見出しとコメントは日本語のまま。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 01:55:44 +00:00
tkgstrator and Claude Opus 4.6
fed8a2c0df
docs(spec): Phase 1 図に key 33.9 nonce → XOR の入力矢印を追加
...
key 33.6 の XOR エンコードに使う nonce (key 33.9) が
図に入力として示されていなかった問題を修正。
ハードコード nonce (0x1AC905) との混同を避ける注釈も追加。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 01:54:31 +00:00
tkgstrator and Claude Opus 4.6
931a815ae4
docs(spec): 鍵関係図を全面更新 — key 33.6 構造図追加、全ノード解明済み
...
- Phase 1 図: key 33.6 を解明済み(緑)に変更、TFIT→XOR→送信フロー追加
- Section 3: enc_key_0/sign_key_0 を緑(Phase 0出力)に修正
- Section 4: enc_key_1 を緑に修正
- Section 8: key 33.6 の平文構造図 (352B) を追加
- kAppBootKey を「用途未確認」に修正 (RSA未使用確認済み)
- Tweak フック一覧を最新状態に更新
- 凡例を簡素化 (黄/オレンジ削除)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 01:53:04 +00:00
tkgstrator and Claude Opus 4.6
fe295225d5
docs(spec): 全鍵導出チェーン解明 — key 33.6 構造も解明済みに
...
- bootstrap_key, key 33.6 構成を解決済みに移動
- key 33.6 平文構造: CBORヘッダ(128B) + TFIT(DH_pub)(128B) + MGK(32B) + 固有(64B)
- 残りの未解明はArgoバイナリ内のCBOR構築ロジックのみ
- Phase 0-5 の全鍵がPython (+ Unicorn) で導出可能
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 01:30:12 +00:00
tkgstrator and Claude Opus 4.6
afd3ad4e3d
docs(spec): 鍵関係図をフェーズ別に分割 — 1枚の巨大図から Phase 0〜5 の個別図へ
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 01:25:10 +00:00
tkgstrator and Claude Opus 4.6
1af0a237dc
docs(spec): bootstrap_key 解明 — Phase 2 sign_key (dh_kdf_out[16:48]) と同一
...
bootstrap_key は新規の鍵ではなく、Phase 2 KDF の HMAC-SHA384 出力の
[16:48] = sign_key そのもの。全オレンジ(由来不明)鍵を解消。
残る未解明は key 33.6 の TFIT エンコードのみ。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 01:23:42 +00:00
tkgstrator and Claude Opus 4.6
f006fb4b50
docs(spec): 鍵関係図を全面更新 — Phase 0 (MGK) 追加、全鍵を緑(解明済み)に
...
- Phase 0 (ESN → MGK = enc_key_0/sign_key_0) を図に追加
- TFIT テーブル (199KB) をバイナリ埋め込み定数として追加
- enc_key_0/sign_key_0 を「Unicorn で計算可能」に更新
- 大部分の鍵ノードを緑色(解明済み)に変更
- シーケンス図に Phase 0 と 48B 鍵導出フローを追加
- 鍵一覧にESN, TFITテーブルを追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 01:19:09 +00:00
tkgstrator and Claude Opus 4.6
67bbd3623c
docs(spec): 初回セッション鍵 = MGK (TFIT-WB-AES-128-ECB of ESN) を文書化
...
enc_key_0/sign_key_0 は genModelGroupKeys の出力 (= MGK) であることが
Unicorn エミュレーションで実証された。
ESN + TFIT テーブルから全鍵チェーンを Python のみで導出可能。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 01:07:01 +00:00
tkgstrator and Claude Opus 4.6
565ab2b1d4
docs(spec): Phase 2 KDF ドキュメントを最新の解析結果で更新
...
- 48B鍵の説明を「TFIT出力」→「SHA384(session_bind[:16])」に修正
- Mermaid図にPSK/nonce→KDF→SHA384→48B鍵のフローを追加
- 未解明事項を更新 (48B鍵は解明済み、残りはTFITエンコードのみ)
- nflxDhDerive 静的解析結果のアドレスを追記
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 00:46:51 +00:00
tkgstrator and Claude Opus 4.6
60e5dc2308
docs(plans): TFIT/48B鍵調査プランを追加
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-08 18:10:07 +00:00
tkgstrator and Claude Opus 4.6
a9cb32b8e5
docs(spec): nflxDhDerive静的解析で48B HMAC鍵の導出チェーンを特定
...
SHA384(native_key_bytes) → 48B鍵 → HMAC-SHA384(key, 0x00||DH_shared) → enc/sign/wrap鍵分割
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-08 18:09:29 +00:00
tkgstrator and Claude Opus 4.6
1941955b90
docs(spec): 48B鍵の導出パスを図に追加 (KDF → SHA384 → 48B鍵)
...
Phase 3 KDF の session_bind から SHA384 を経て 48B 鍵に至る
データフローを Mermaid 図に明示。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-08 18:06:16 +00:00
tkgstrator and Claude Opus 4.6
8f9c13fa22
docs(spec): 48B鍵を「計算可能」に更新、SHA384(session_bind[:16]) 解明
...
- 48B鍵をオレンジ(由来不明)→緑(解明済み)に変更
- 鍵一覧テーブルに導出式を追記
- 未解明ポイントから48B鍵を解決済みに移動
- 凡例に緑(解明済み)を追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-08 18:05:23 +00:00
tkgstrator and Claude Opus 4.6
8f62f20a4c
docs(spec): NFWebCrypto TFIT WB-AES-128-ECB 静的解析結果を追加
...
genModelGroupKeys → encryptAes128Ecb → TFIT_wbaes_ecb_encrypt_iAES11 の
全コールチェーンを逆アセンブルし、ラウンド構造・テーブル配置・
デバイス別キースケジュール選択ロジックを文書化。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-08 18:05:00 +00:00
tkgstrator and Claude Opus 4.6
c4da8c487c
docs(spec): key 33.6 構成の解析結果を反映
...
- RSA 暗号化は未使用 (実証済み) を解決済みに追加
- key 33.6 サイズを 464B → 144B/352B に修正
- kAppBootKey の点線接続を削除 (RSA 不使用のため)
- key 33.6 構成方法を未解明ポイントに追加
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-08 17:07:06 +00:00
tkgstrator and Claude 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
tkgstrator and Claude 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
tkgstrator and Claude 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
tkgstrator and Claude 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
tkgstrator and Claude 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
tkgstrator and Claude 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
tkgstrator and Claude 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
tkgstrator and Claude 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
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
tkgstrator and Claude 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
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
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
tkgstrator and Claude 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
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