具有.xbe扩展名的文件是来自Xbox视频游戏光盘的可执行应用程序。XBE文件是在Xbox系统中执行的主要文件,通常不应在计算机上打开,但可以使用Xbox仿真程序在PC上打开。这些文件通常由游戏开发者创建,然后由Microsoft签名。文件结构类似于WindowsPE文件,但根据XBox设置应用了一些重要更改,使其可在XBox上运行。
XBE文件格式
XBE文件由图像头、节头集合、证书、线程本地存储数据、库版本集合、Microsoft位图以及包含代码和资源的节组成。
图片标题
映像头包含解释可执行文件的其他组件在文件中的位置的信息,以及应如何处理和加载可运行文件。
TLS表
TLS表包含XBE正确设置线程本地存储所需的所有信息。它基本上是PE32文件中的TLS目录唯一的,可以直接从那里复制。如果XBE文件不使用任何线程本地存储,并且图像头中的相应字段设置为零,则可以省略此表。
偏移 | 尺寸 | 名称 | 说明, |
---|---|---|---|
0x0000 | 0x0004 | 原始数据开始 | 程序映像中TLS变量数据的绝对(即不是RVA)起始地址 |
0x0004 | 0x0004 | 原始数据结束 | 程序映像中TLS变量数据结束的绝对(即不是RVA)地址。 |
0x0008 | 0x0004 | 索引地址 | TLS索引变量的绝对(即不是RVA)地址。 |
0x000C | 0x0004 | 回调地址 | 空终止的TLS回调函数表的绝对(即不是RVA)地址。 |
0x0010 | 0x0004 | 零填充的大小 | 在内存中应设置为零的原始数据之后的字节数。 |
0x0014 | 0x0004 | 特点 | 描述对齐。 |
证书
每个包含标题信息的Xbox可执行文件都必须有一个证书:
- 创建证书的时间和日期
- 标题ID
- 标题名称
- 替代标题ID
- 允许运行可执行文件的媒体类型(HD、DVD、CD等)
- 游戏区域
- 游戏评分
- 磁盘编号
- 版本
- 用于系统链接的LAN密钥原始数据
- 签名密钥原始数据(用于签署存档游戏)
- 备用签名密钥
- 证书原件尺寸
- 在线服务名称(不存在于早期的可执行文件中)
- 运行时安全标志(早期的可执行文件中不存在)
允许的媒体类型
可执行文件允许从中运行的媒体类型。以下值是已知的:
媒体类型 | 价值 |
---|---|
硬盘 | 0x00000001 |
DVD_X2 | 0x00000002 |
DVD_CD | 0x00000004 |
光盘 | 0x00000008 |
DVD_5_RO | 0x00000010 |
DVD_9_RO | 0x00000020 |
DVD_5_RW | 0x00000040 |
DVD_9_RW | 0x00000080 |
加密狗 | 0x00000100 |
媒体板 | 0x00000200 |
NONSECURE_HARD_DISK | 0x40000000 |
非安全模式 | 0x80000000 |
媒体掩码 | 0x00FFFFFF |
部分
节由节标题表示。部分标题在证书之后开始,并包含文件中实际部分所在位置的信息。Xbox可执行文件中始终至少存在两个部分:
- 文本
- .rdata
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。