emoose/idaxex

GitHub: emoose/idaxex

IDA Pro 9 的原生加载器插件,为 Xbox/Xbox 360 的 XEX 及 XBE 可执行文件提供完整的逆向分析支持。

Stars: 198 | Forks: 7

# idaxex idaxex 是一个用于 IDA Pro 9.3 的原生加载器插件,增加了对加载 Xbox 360 XEX 和 Xbox XBE 可执行文件的支持。 最初是作为一个 [IDAPython 加载器](https://github.com/emoose/reversing/blob/master/xbox360.py)开始的,后来为了解决其局限性,继续作为原生 DLL 进行开发。 它应该具有与 xorloser 出色的 Xex Loader(适用于 IDA 6 及更早版本)相同的功能,并额外支持一些早期的非 XEX2 格式,例如 beta-kits 上使用的 XEX1。 此外还支持 XBE 文件,与 IDA 附带的加载器相比增加了一些额外功能。 ## 支持的格式 包括对以下 Xbox 可执行文件的支持: - XEX2 (>= 内核 1861) - XEX1 (>= 1838) - XEX% (>= 1746) - XEX- (>= 1640) - XEX? (>= 1529) - XEX0 (>= 1332) - XBE (>= XboxOG ~3729) ## 功能 - 可以处理压缩/未压缩的映像,以及加密/解密的映像(支持 retail、devkit 和 pre-release 加密密钥) - 将导入和导出读取到相应的 IDA 导入/导出视图中。 - 自动为知名的导入命名,例如来自内核和 XAM 的导入,就像 xorloser 的加载器一样。 - 创建 PE 节,并使用 PE 头给定的适当权限进行标记。 - 支持 AES-NI 以帮助缩短较大 XEX 文件的加载时间。 - 标记来自 .pdata 异常目录的函数,并允许 IDA 的 eh_parse 插件读取异常信息。 - 将 codeview 信息传递给 IDA,允许其提示并加载 PDB 而不会出现警告/错误。 - 修改过的字节可以通过 IDA 的 `Apply patches to input` 选项写回输入文件(适用于所有 XBE,对于 XEX 必须首先使用 `xextool -eu -cu input.xex` 进行解压和解密) - XBE:将内核导入添加到 IDA 导入视图 - XBE:尝试使用 [XbSymbolDatabase](https://github.com/Cxbx-Reloaded/XbSymbolDatabase) 和来自 XTLID 节的数据为 SDK 库函数命名 ## 安装 受支持的 IDA Pro 9.x 版本提供预构建的发布版。 将加载器文件复制到相应 IDA 安装目录的 loader/plugin 文件夹中,或按照下面的构建步骤进行操作,并将生成的二进制文件安装到您的 IDA SDK 输出文件夹中。 要进行 PPC Altivec 分析,PPCAltivec 插件仍然是一个有用的伴侣:https://github.com/hayleyxyz/PPC-Altivec-IDA ## 构建 确保递归克隆仓库,以便拉取 excrypt 子模块。 **Windows** - 将 `IDASDK` 环境变量指向您的 IDA SDK 9.3 根目录。 - 运行 CMake 生成 VS 解决方案:`cmake -B build -G "Visual Studio 18 2026"` - 使用 `cmake --build build` 进行构建,或使用 `idaxex.slnx` 文件。 - idaxex.dll 将构建在 `$IDASDK\src\bin\loaders\idaxex.dll` **Linux** - 如果您的 SDK 目录树包含 IDA SDK 9.3 CMake bootstrap,请使用 `src/cmake/bootstrap.cmake`;如果您将该包单独存放,请使用独立的 [ida-cmake](https://github.com/allthingsida/ida-cmake) bootstrap。 - 确保 `IDASDK` 指向 SDK 根目录。 - 在仓库根目录中运行 `cmake -S . -B build`。 - 运行 `cmake --build build`。 - 要构建 `xex1tool`,请运行 `cmake -S xex1tool -B xex1tool/build` 和 `cmake --build xex1tool/build`。 在较新的 IDA SDK 上,`libida.so` 可能是正确的库名称,以替代 `libida64.so`。 # xex1tool 其中还包含了尝试重建 xorloser 的 XexTool 的成果,用于处理早期的 pre-XEX2 可执行文件。 (这个名字只是为了将其与原始的 XexTool 区分开来——它仍然可以完美支持 XEX2 文件) 目前它可以通过 `-l` 打印有关各种 XEX 头的信息,并从 XEX 内部提取基础文件(PE/XUIZ)。 对于已解密和解压的 XEX 文件,xex1tool 还可以为您将 VA 地址转换为文件偏移量,使文件修补变得更加容易。
标签:AES-NI, Bash脚本, C++, DAST, IDAPython, IDA插件, PDB符号, PE文件, Wayback Machine, XBE, XBE加载器, Xbox, Xbox 360, XEX2, XEX加载器, 二进制分析, 云安全运维, 云资产清单, 加密解密, 加载器开发, 动态链接库, 反汇编, 固件分析, 恶意软件分析, 情报收集, 数据擦除, 文件格式解析, 游戏主机破解, 游戏安全, 漏洞研究, 逆向工程