.XBE 파일이란?
확장자가 .xbe인 파일은 Xbox 비디오 게임 디스크에서 실행 가능한 응용 프로그램입니다. XBE 파일은 Xbox 시스템에서 실행되는 주요 파일로 일반적으로 컴퓨터에서 열리지 않아야 하지만 Xbox 에뮬레이션 프로그램을 사용하여 PC에서 열 수 있습니다. 이러한 파일은 일반적으로 게임 개발자가 만든 다음 Microsoft에서 서명합니다. 파일 구조는 Windows PE 파일과 유사하지만 XBox 설정에 따라 몇 가지 중요한 변경 사항이 적용되어 XBox에서 실행할 수 있습니다.
XBE 파일 형식
XBE 파일은 이미지 헤더, 섹션 헤더 모음, 인증서, 스레드 로컬 저장소 데이터, 라이브러리 버전 모음, Microsoft 비트맵 및 코드와 리소스가 포함된 섹션으로 구성됩니다.
이미지 헤더
이미지 헤더는 파일 내에서 실행 파일의 다른 구성 요소가 있는 위치와 실행 파일을 처리하고 로드하는 방법을 설명하는 정보로 구성됩니다.
TLS 테이블
TLS 테이블은 스레드 로컬 저장소를 적절하게 설정하기 위해 XBE가 필요로 하는 모든 정보로 구성됩니다. 기본적으로 PE32 파일에 있는 TLS 디렉터리에 고유하며 거기에서 직접 복사할 수 있습니다. XBE 파일이 스레드 로컬 저장소를 사용하지 않고 이미지 헤더의 해당 필드가 0으로 설정된 경우 이 테이블을 생략할 수 있습니다.
오프셋 | 크기 | 이름 | 설명 |
---|---|---|---|
0x0000 | 0x0004 | 원시 데이터 시작 | 프로그램 이미지에서 TLS 변수 데이터 시작의 절대(즉, RVA 아님) 주소입니다. |
0x0004 | 0x0004 | 원시 데이터 끝 | 프로그램 이미지에서 TLS 변수 데이터 끝의 절대(즉, RVA가 아님) 주소입니다. |
0x0008 | 0x0004 | 색인 주소 | TLS 인덱스 변수의 절대(즉, RVA가 아님) 주소입니다. |
0x000C | 0x0004 | 콜백 주소 | null로 끝나는 TLS 콜백 함수 테이블의 절대(즉, RVA가 아님) 주소입니다. |
0x0010 | 0x0004 | 제로 필의 크기 | 메모리에서 0으로 설정해야 하는 원시 데이터 다음의 바이트 수입니다. |
0x0014 | 0x0004 | 특성 | 정렬에 대해 설명합니다. |
자격증
타이틀에 대한 정보가 포함된 각 Xbox 실행 파일에 대한 인증서는 필수입니다.
- 인증서가 생성된 시간 및 날짜
- 타이틀 ID
- 제목 이름
- 대체 타이틀 ID
- 실행 파일을 실행할 수 있는 허용된 미디어 유형(HD, DVD, CD 등)
- 게임 지역
- 게임 등급
- 디스크 번호
- 버전
- System Link에 사용되는 LAN key raw data
- 서명 키 원시 데이터(savegames 서명에 사용)
- 대체 서명 키
- 인증서 원본 크기
- 온라인 서비스 이름(초기 실행 파일에는 없음)
- 런타임 보안 플래그(초기 실행 파일에는 없음)
허용되는 미디어 유형
실행 파일에서 실행할 수 있는 미디어 유형입니다. 다음 값이 알려져 있습니다.
미디어 유형 | 가치 |
---|---|
하드디스크 | 0x00000001 |
DVD_X2 | 0x00000002 |
DVD_CD | 0x00000004 |
CD | 0x00000008 |
DVD_5_RO | 0x00000010 |
DVD_9_RO | 0x00000020 |
DVD_5_RW | 0x00000040 |
DVD_9_RW | 0x00000080 |
동글 | 0x00000100 |
미디어_보드 | 0x00000200 |
NONSECURE_HARD_DISK | 0x40000000 |
NONSECURE_MODE | 0x80000000 |
미디어_마스크 | 0x00FFFFFF |
섹션
섹션은 섹션 헤더로 표현됩니다. 섹션 헤더는 인증서 바로 뒤에서 시작하고 파일에서 실제 섹션이 존재하는 정보를 포함합니다. Xbox 실행 파일에는 항상 두 개 이상의 섹션이 있습니다.
.텍스트
.rdata