emoose/ExCrypt
GitHub: emoose/ExCrypt
ExCrypt 是一个用于替代 Xbox 360 XeCrypt 加密函数套件的开源实现,旨在为需要与 Xbox 360 现有代码和数据保持加密兼容性的场景提供可复现的解决方案。
Stars: 37 | Forks: 12
# ExCrypt
ExCrypt 是一个开源的、可直接替换 Xbox 360 所使用的 XeCrypt 函数套件的替代品。
它的设计目标是尽可能与这些函数保持紧密兼容——这也许会以牺牲各种安全性和性能为代价。
因此,它仅应适用于需要与现有 Xbox 360 代码/数据保持兼容的场景。
### 内容
ExCrypt 的目标是实现已知在 Xbox 360 上使用的 XeCrypt 函数。
我们仅针对从内核导出的、在 X360 启动期间使用的,或包含在游戏/应用程序内部的 XeCrypt 函数。
有关 XeCrypt 目标的列表、其状态以及任何与实现相关的说明,请查看[实现状态页面](https://github.com/emoose/ExCrypt/issues/5)。
### 实现
代码必须确保设置与 360 函数完全相同的状态变量和返回值。
但这并不意味着函数的局部变量也必须一一对应——只要确保以某种方式被外部写入的数据(即可能被其他非 XeCrypt 代码处理的数据)保持精确一致即可,其余部分可以按我们想要的方式工作。
代码预期接收的是大端序数据,因此可能需要将这些数据转换为小端序才能进行处理。
我们希望您能尽力让代码更具可读性,而不是仅仅将汇编直接机械地转换为 C 代码(尽管这并非绝对强制要求,只要代码能真正正常工作即可)。
我们仅针对 x86 和 x64 架构——未来可能会支持其他平台,但目前支持其他架构并没有太大用处。
在可能的情况下,使用现有的、广为人知的密码学代码始终比自行编写更可取(除非 XeCrypt 的某些怪异特性使得这无法实现)。
标签:Xbox 360, XeCrypt, 云资产清单, 客户端加密, 密码学, 手动系统调用, 游戏机破解, 逆向工程