EpicGames XAL 暗号(xal-reverse)逆解析実装

Security

概要

このリポジトリは、Epic Games が用いる XAL 暗号アルゴリズムを逆解析し、JavaScript で再現した試みです。中心ファイルの Xal.js に暗号処理の実装が置かれ、fp.json にアルゴリズムで利用される定数やフィンガープリント的な値を収めています。README には「重要な値が Epic のアップデートで定期的に変わる」との注意書きがあり、継続的なメンテナンスと検証が必要であることが明記されています。小規模ながらセキュリティ研究や互換性検証に役立つ構成です。

GitHub

リポジトリの統計情報

  • スター数: 4
  • フォーク数: 0
  • ウォッチャー数: 4
  • コミット数: 4
  • ファイル数: 4
  • メインの言語: JavaScript

主な特徴

  • XAL 暗号アルゴリズムの逆解析に基づく JavaScript 実装(Xal.js)
  • アルゴリズムで使われる定数やフィンガープリントを fp.json にまとめる
  • 依存を抑えた軽量構成で研究・検証向けにシンプルに設計
  • README にアップデート時の注意を記載、継続的メンテ対応が必要

技術的なポイント

xal-reverse は Xal.js を中心に、XAL 暗号の処理フローを再現することを目的とした実装です。実装は JavaScript ベースで、バイト配列操作や鍵導出、暗号ブロック処理の再現に重点が置かれています。fp.json はアルゴリズムの実行に必要な「定数群(フィンガープリント)」を収めており、これらは README にある通り Epic のアップデートで周期的に変更されるため、動作互換を維持するにはこれらの値を追随・更新する必要があります。

ソースは小規模で可読性が高く、暗号処理の各ステップが追いやすい構造になっています。実際の暗号化/復号化ロジックは低レベルなバイト操作やビット演算、鍵スケジューリングに相当する処理を含むと想定され、外部ライブラリに依存しない純粋実装になっている可能性が高いです。用途としては、Epic のプロトコル実装の相互運用性検証やセキュリティ研究、フォレンジック解析の補助が考えられますが、商用サービスへの直接利用や不正利用は法的・倫理的な問題を招くため慎重な取り扱いが求められます。

実装を拡張・メンテする際は、fp.json の値の更新方法、テストベクトルの整備、暗号プリミティブ(必要なら既存の検証済みライブラリへの置換)を検討してください。また、アップデートで仕様が変わった場合の差分解析とリグレッションテストの整備が、実用性を維持する上で重要です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • LICENSE: file
  • README.md: file
  • Xal.js: file
  • fp.json: file

まとめ

小規模ながら XAL 暗号の再現と定数管理に特化した研究向けリポジトリです。

リポジトリ情報:

READMEの抜粋:


Logo

EpicGames Xal Encryption algorithm

Important Notes

The encryption algorithm uses two important values that periodically change with Epic Games updates:

  1. **`f47…