ソース情報
- リポジトリ
- londospark/citrust
- ソースの最終更新活動
- 2026年2月22日 06:25
- 検出された SKILL.md の言語
- 英語
- スター
- 0
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/londospark/citrust --skill 3ds-rom-cryptoコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SOC 職業分類に基づく
SKILL.md を表示中
| name | 3ds-rom-crypto |
| description | 3DS ROM (NCSD/NCCH) encryption/decryption pipeline knowledge |
| domain | cryptography |
| confidence | high |
| source | b3DS-master/b3DSDecrypt.py analysis |
This skill covers the Nintendo 3DS ROM file format (NCSD/NCCH) and its AES-128-CTR encryption scheme. Essential for anyone working on citrust (the Rust port of b3DSDecrypt.py).
0x200 * 2^(ncsd_flags[6]) (read flags at 0x188)NormalKey = ROL128((ROL128(KeyX, 2) ^ KeyY) + Constant, 87)
KeyX: Selected by crypto method flag (partition_flags[3])
KeyY: First 16 bytes of partition RSA signature (offset 0x0 from partition start)Constant: [REDACTED]NormalKey2C: Always derived from KeyX0x2C (used for ExHeader + ExeFS table)FixedCryptoKey flag (flags[7] bit 0) → both keys = 00x01000000000000000x02000000000000000x0300000000000000NoCrypto bit (0x04) at partition_offset + 0x18FFixedCryptoKey (0x01) and CryptoUsingNewKeyY (0x20) at same offsetThis is the trickiest part. For 7.x/9.x encrypted ROMs:
.code file within ExeFS is encrypted with TWO layersplaintext = encrypt_2C(decrypt_7x(ciphertext))(file_offset_within_exefs + sector_size) / 16u128 is sufficient and much faster than bignum