LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions
xb360.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  kventry
 

Macros

#define XEKEY_MANUFACTURING_MODE   0x00
 
#define XEKEY_ALTERNATE_KEY_VAULT   0x01
 
#define XEKEY_RESERVED_BYTE2   0x02
 
#define XEKEY_RESERVED_BYTE3   0x03
 
#define XEKEY_RESERVED_WORD1   0x04
 
#define XEKEY_RESERVED_WORD2   0x05
 
#define XEKEY_RESTRICTED_HVEXT_LOADER   0x06
 
#define XEKEY_RESERVED_DWORD2   0x07
 
#define XEKEY_RESERVED_DWORD3   0x08
 
#define XEKEY_RESERVED_DWORD4   0x09
 
#define XEKEY_RESTRICTED_PRIVILEDGES   0x0A
 
#define XEKEY_RESERVED_QWORD2   0x0B
 
#define XEKEY_RESERVED_QWORD3   0x0C
 
#define XEKEY_RESERVED_QWORD4   0x0D
 
#define XEKEY_RESERVED_KEY1   0x0E
 
#define XEKEY_RESERVED_KEY2   0x0F
 
#define XEKEY_RESERVED_KEY3   0x10
 
#define XEKEY_RESERVED_KEY4   0x11
 
#define XEKEY_RESERVED_RANDOM_KEY1   0x12
 
#define XEKEY_RESERVED_RANDOM_KEY2   0x13
 
#define XEKEY_CONSOLE_SERIAL_NUMBER   0x14
 
#define XEKEY_MOBO_SERIAL_NUMBER   0x15
 
#define XEKEY_GAME_REGION   0x16
 
#define XEKEY_CONSOLE_OBFUSCATION_KEY   0x17
 
#define XEKEY_KEY_OBFUSCATION_KEY   0x18
 
#define XEKEY_ROAMABLE_OBFUSCATION_KEY   0x19
 
#define XEKEY_DVD_KEY   0x1A
 
#define XEKEY_PRIMARY_ACTIVATION_KEY   0x1B
 
#define XEKEY_SECONDARY_ACTIVATION_KEY   0x1C
 
#define XEKEY_GLOBAL_DEVICE_2DES_KEY1   0x1D
 
#define XEKEY_GLOBAL_DEVICE_2DES_KEY2   0x1E
 
#define XEKEY_WIRELESS_CONTROLLER_MS_2DES_KEY1   0x1F
 
#define XEKEY_WIRELESS_CONTROLLER_MS_2DES_KEY2   0x20
 
#define XEKEY_WIRED_WEBCAM_MS_2DES_KEY1   0x21
 
#define XEKEY_WIRED_WEBCAM_MS_2DES_KEY2   0x22
 
#define XEKEY_WIRED_CONTROLLER_MS_2DES_KEY1   0x23
 
#define XEKEY_WIRED_CONTROLLER_MS_2DES_KEY2   0x24
 
#define XEKEY_MEMORY_UNIT_MS_2DES_KEY1   0x25
 
#define XEKEY_MEMORY_UNIT_MS_2DES_KEY2   0x26
 
#define XEKEY_OTHER_XSM3_DEVICE_MS_2DES_KEY1   0x27
 
#define XEKEY_OTHER_XSM3_DEVICE_MS_2DES_KEY2   0x28
 
#define XEKEY_WIRELESS_CONTROLLER_3P_2DES_KEY1   0x29
 
#define XEKEY_WIRELESS_CONTROLLER_3P_2DES_KEY2   0x2A
 
#define XEKEY_WIRED_WEBCAM_3P_2DES_KEY1   0x2B
 
#define XEKEY_WIRED_WEBCAM_3P_2DES_KEY2   0x2C
 
#define XEKEY_WIRED_CONTROLLER_3P_2DES_KEY1   0x2D
 
#define XEKEY_WIRED_CONTROLLER_3P_2DES_KEY2   0x2E
 
#define XEKEY_MEMORY_UNIT_3P_2DES_KEY1   0x2F
 
#define XEKEY_MEMORY_UNIT_3P_2DES_KEY2   0x30
 
#define XEKEY_OTHER_XSM3_DEVICE_3P_2DES_KEY1   0x31
 
#define XEKEY_OTHER_XSM3_DEVICE_3P_2DES_KEY2   0x32
 
#define XEKEY_CONSOLE_PRIVATE_KEY   0x33
 
#define XEKEY_XEIKA_PRIVATE_KEY   0x34
 
#define XEKEY_CARDEA_PRIVATE_KEY   0x35
 
#define XEKEY_CONSOLE_CERTIFICATE   0x36
 
#define XEKEY_XEIKA_CERTIFICATE   0x37
 
#define XEKEY_CARDEA_CERTIFICATE   0x38
 
#define KV_FLASH_SIZE   xenon_get_kv_size()
 
#define KV_FLASH_OFFSET   xenon_get_kv_offset()
 
#define KV_FLASH_PAGES   KV_FLASH_SIZE / 0x200
 
#define KV_FLASH_PTR   0x6C
 
#define VFUSES_SIZE   0x60
 
#define VFUSES_OFFSET   0x95000
 
#define XELL_SIZE   (256*1024)
 
#define XELL_FOOTER_OFFSET   (256*1024-16)
 
#define XELL_FOOTER_LENGTH   16
 
#define XELL_FOOTER   "xxxxxxxxxxxxxxxx"
 
#define XELL_OFFSET_COUNT   6
 
#define REV_XENON   0
 
#define REV_ZEPHYR   1
 
#define REV_FALCON   2
 
#define REV_JASPER   3
 
#define REV_TRINITY   4
 
#define REV_CORONA   5
 
#define REV_CORONA_PHISON   6
 
#define REV_WINCHESTER   7
 
#define REV_WINCHESTER_MMC   8
 
#define REV_UNKNOWN   (-1)
 
#define MMC_FLASH_SIZE   0x3000000
 

Typedefs

typedef struct kventry kventry
 

Functions

unsigned int xenon_get_kv_size ()
 
unsigned int xenon_get_kv_offset ()
 
void print_key (char *name, unsigned char *data)
 
int cpu_get_key (unsigned char *data)
 
int get_virtual_cpukey (unsigned char *data)
 
int kv_read (unsigned char *data, int virtualcpukey)
 
int kv_get_dvd_key (unsigned char *dvd_key)
 
int kv_get_key (unsigned char keyid, unsigned char *keybuf, int *keybuflen, unsigned char *keyvault)
 
void print_cpu_dvd_keys (void)
 
int updateXeLL (char *path)
 
unsigned int xenon_get_DVE ()
 
unsigned int xenon_get_PCIBridgeRevisionID ()
 
unsigned int xenon_get_CPU_PVR ()
 
unsigned int xenon_get_XenosID ()
 
int xenon_get_console_type (void)
 
int xenon_get_logical_nand_data (void *buf, unsigned int offset, unsigned int len)
 
int xenon_logical_nand_data_ok ()
 

Macro Definition Documentation

◆ KV_FLASH_OFFSET

#define KV_FLASH_OFFSET   xenon_get_kv_offset()

Definition at line 72 of file xb360.h.

◆ KV_FLASH_PAGES

#define KV_FLASH_PAGES   KV_FLASH_SIZE / 0x200

Definition at line 73 of file xb360.h.

◆ KV_FLASH_PTR

#define KV_FLASH_PTR   0x6C

Definition at line 74 of file xb360.h.

◆ KV_FLASH_SIZE

#define KV_FLASH_SIZE   xenon_get_kv_size()

Definition at line 71 of file xb360.h.

◆ MMC_FLASH_SIZE

#define MMC_FLASH_SIZE   0x3000000

Definition at line 126 of file xb360.h.

◆ REV_CORONA

#define REV_CORONA   5

Definition at line 96 of file xb360.h.

◆ REV_CORONA_PHISON

#define REV_CORONA_PHISON   6

Definition at line 97 of file xb360.h.

◆ REV_FALCON

#define REV_FALCON   2

Definition at line 93 of file xb360.h.

◆ REV_JASPER

#define REV_JASPER   3

Definition at line 94 of file xb360.h.

◆ REV_TRINITY

#define REV_TRINITY   4

Definition at line 95 of file xb360.h.

◆ REV_UNKNOWN

#define REV_UNKNOWN   (-1)

Definition at line 100 of file xb360.h.

◆ REV_WINCHESTER

#define REV_WINCHESTER   7

Definition at line 98 of file xb360.h.

◆ REV_WINCHESTER_MMC

#define REV_WINCHESTER_MMC   8

Definition at line 99 of file xb360.h.

◆ REV_XENON

#define REV_XENON   0

Definition at line 91 of file xb360.h.

◆ REV_ZEPHYR

#define REV_ZEPHYR   1

Definition at line 92 of file xb360.h.

◆ VFUSES_OFFSET

#define VFUSES_OFFSET   0x95000

Definition at line 76 of file xb360.h.

◆ VFUSES_SIZE

#define VFUSES_SIZE   0x60

Definition at line 75 of file xb360.h.

◆ XEKEY_ALTERNATE_KEY_VAULT

#define XEKEY_ALTERNATE_KEY_VAULT   0x01

Definition at line 11 of file xb360.h.

◆ XEKEY_CARDEA_CERTIFICATE

#define XEKEY_CARDEA_CERTIFICATE   0x38

Definition at line 66 of file xb360.h.

◆ XEKEY_CARDEA_PRIVATE_KEY

#define XEKEY_CARDEA_PRIVATE_KEY   0x35

Definition at line 63 of file xb360.h.

◆ XEKEY_CONSOLE_CERTIFICATE

#define XEKEY_CONSOLE_CERTIFICATE   0x36

Definition at line 64 of file xb360.h.

◆ XEKEY_CONSOLE_OBFUSCATION_KEY

#define XEKEY_CONSOLE_OBFUSCATION_KEY   0x17

Definition at line 33 of file xb360.h.

◆ XEKEY_CONSOLE_PRIVATE_KEY

#define XEKEY_CONSOLE_PRIVATE_KEY   0x33

Definition at line 61 of file xb360.h.

◆ XEKEY_CONSOLE_SERIAL_NUMBER

#define XEKEY_CONSOLE_SERIAL_NUMBER   0x14

Definition at line 30 of file xb360.h.

◆ XEKEY_DVD_KEY

#define XEKEY_DVD_KEY   0x1A

Definition at line 36 of file xb360.h.

◆ XEKEY_GAME_REGION

#define XEKEY_GAME_REGION   0x16

Definition at line 32 of file xb360.h.

◆ XEKEY_GLOBAL_DEVICE_2DES_KEY1

#define XEKEY_GLOBAL_DEVICE_2DES_KEY1   0x1D

Definition at line 39 of file xb360.h.

◆ XEKEY_GLOBAL_DEVICE_2DES_KEY2

#define XEKEY_GLOBAL_DEVICE_2DES_KEY2   0x1E

Definition at line 40 of file xb360.h.

◆ XEKEY_KEY_OBFUSCATION_KEY

#define XEKEY_KEY_OBFUSCATION_KEY   0x18

Definition at line 34 of file xb360.h.

◆ XEKEY_MANUFACTURING_MODE

#define XEKEY_MANUFACTURING_MODE   0x00

Definition at line 10 of file xb360.h.

◆ XEKEY_MEMORY_UNIT_3P_2DES_KEY1

#define XEKEY_MEMORY_UNIT_3P_2DES_KEY1   0x2F

Definition at line 57 of file xb360.h.

◆ XEKEY_MEMORY_UNIT_3P_2DES_KEY2

#define XEKEY_MEMORY_UNIT_3P_2DES_KEY2   0x30

Definition at line 58 of file xb360.h.

◆ XEKEY_MEMORY_UNIT_MS_2DES_KEY1

#define XEKEY_MEMORY_UNIT_MS_2DES_KEY1   0x25

Definition at line 47 of file xb360.h.

◆ XEKEY_MEMORY_UNIT_MS_2DES_KEY2

#define XEKEY_MEMORY_UNIT_MS_2DES_KEY2   0x26

Definition at line 48 of file xb360.h.

◆ XEKEY_MOBO_SERIAL_NUMBER

#define XEKEY_MOBO_SERIAL_NUMBER   0x15

Definition at line 31 of file xb360.h.

◆ XEKEY_OTHER_XSM3_DEVICE_3P_2DES_KEY1

#define XEKEY_OTHER_XSM3_DEVICE_3P_2DES_KEY1   0x31

Definition at line 59 of file xb360.h.

◆ XEKEY_OTHER_XSM3_DEVICE_3P_2DES_KEY2

#define XEKEY_OTHER_XSM3_DEVICE_3P_2DES_KEY2   0x32

Definition at line 60 of file xb360.h.

◆ XEKEY_OTHER_XSM3_DEVICE_MS_2DES_KEY1

#define XEKEY_OTHER_XSM3_DEVICE_MS_2DES_KEY1   0x27

Definition at line 49 of file xb360.h.

◆ XEKEY_OTHER_XSM3_DEVICE_MS_2DES_KEY2

#define XEKEY_OTHER_XSM3_DEVICE_MS_2DES_KEY2   0x28

Definition at line 50 of file xb360.h.

◆ XEKEY_PRIMARY_ACTIVATION_KEY

#define XEKEY_PRIMARY_ACTIVATION_KEY   0x1B

Definition at line 37 of file xb360.h.

◆ XEKEY_RESERVED_BYTE2

#define XEKEY_RESERVED_BYTE2   0x02

Definition at line 12 of file xb360.h.

◆ XEKEY_RESERVED_BYTE3

#define XEKEY_RESERVED_BYTE3   0x03

Definition at line 13 of file xb360.h.

◆ XEKEY_RESERVED_DWORD2

#define XEKEY_RESERVED_DWORD2   0x07

Definition at line 17 of file xb360.h.

◆ XEKEY_RESERVED_DWORD3

#define XEKEY_RESERVED_DWORD3   0x08

Definition at line 18 of file xb360.h.

◆ XEKEY_RESERVED_DWORD4

#define XEKEY_RESERVED_DWORD4   0x09

Definition at line 19 of file xb360.h.

◆ XEKEY_RESERVED_KEY1

#define XEKEY_RESERVED_KEY1   0x0E

Definition at line 24 of file xb360.h.

◆ XEKEY_RESERVED_KEY2

#define XEKEY_RESERVED_KEY2   0x0F

Definition at line 25 of file xb360.h.

◆ XEKEY_RESERVED_KEY3

#define XEKEY_RESERVED_KEY3   0x10

Definition at line 26 of file xb360.h.

◆ XEKEY_RESERVED_KEY4

#define XEKEY_RESERVED_KEY4   0x11

Definition at line 27 of file xb360.h.

◆ XEKEY_RESERVED_QWORD2

#define XEKEY_RESERVED_QWORD2   0x0B

Definition at line 21 of file xb360.h.

◆ XEKEY_RESERVED_QWORD3

#define XEKEY_RESERVED_QWORD3   0x0C

Definition at line 22 of file xb360.h.

◆ XEKEY_RESERVED_QWORD4

#define XEKEY_RESERVED_QWORD4   0x0D

Definition at line 23 of file xb360.h.

◆ XEKEY_RESERVED_RANDOM_KEY1

#define XEKEY_RESERVED_RANDOM_KEY1   0x12

Definition at line 28 of file xb360.h.

◆ XEKEY_RESERVED_RANDOM_KEY2

#define XEKEY_RESERVED_RANDOM_KEY2   0x13

Definition at line 29 of file xb360.h.

◆ XEKEY_RESERVED_WORD1

#define XEKEY_RESERVED_WORD1   0x04

Definition at line 14 of file xb360.h.

◆ XEKEY_RESERVED_WORD2

#define XEKEY_RESERVED_WORD2   0x05

Definition at line 15 of file xb360.h.

◆ XEKEY_RESTRICTED_HVEXT_LOADER

#define XEKEY_RESTRICTED_HVEXT_LOADER   0x06

Definition at line 16 of file xb360.h.

◆ XEKEY_RESTRICTED_PRIVILEDGES

#define XEKEY_RESTRICTED_PRIVILEDGES   0x0A

Definition at line 20 of file xb360.h.

◆ XEKEY_ROAMABLE_OBFUSCATION_KEY

#define XEKEY_ROAMABLE_OBFUSCATION_KEY   0x19

Definition at line 35 of file xb360.h.

◆ XEKEY_SECONDARY_ACTIVATION_KEY

#define XEKEY_SECONDARY_ACTIVATION_KEY   0x1C

Definition at line 38 of file xb360.h.

◆ XEKEY_WIRED_CONTROLLER_3P_2DES_KEY1

#define XEKEY_WIRED_CONTROLLER_3P_2DES_KEY1   0x2D

Definition at line 55 of file xb360.h.

◆ XEKEY_WIRED_CONTROLLER_3P_2DES_KEY2

#define XEKEY_WIRED_CONTROLLER_3P_2DES_KEY2   0x2E

Definition at line 56 of file xb360.h.

◆ XEKEY_WIRED_CONTROLLER_MS_2DES_KEY1

#define XEKEY_WIRED_CONTROLLER_MS_2DES_KEY1   0x23

Definition at line 45 of file xb360.h.

◆ XEKEY_WIRED_CONTROLLER_MS_2DES_KEY2

#define XEKEY_WIRED_CONTROLLER_MS_2DES_KEY2   0x24

Definition at line 46 of file xb360.h.

◆ XEKEY_WIRED_WEBCAM_3P_2DES_KEY1

#define XEKEY_WIRED_WEBCAM_3P_2DES_KEY1   0x2B

Definition at line 53 of file xb360.h.

◆ XEKEY_WIRED_WEBCAM_3P_2DES_KEY2

#define XEKEY_WIRED_WEBCAM_3P_2DES_KEY2   0x2C

Definition at line 54 of file xb360.h.

◆ XEKEY_WIRED_WEBCAM_MS_2DES_KEY1

#define XEKEY_WIRED_WEBCAM_MS_2DES_KEY1   0x21

Definition at line 43 of file xb360.h.

◆ XEKEY_WIRED_WEBCAM_MS_2DES_KEY2

#define XEKEY_WIRED_WEBCAM_MS_2DES_KEY2   0x22

Definition at line 44 of file xb360.h.

◆ XEKEY_WIRELESS_CONTROLLER_3P_2DES_KEY1

#define XEKEY_WIRELESS_CONTROLLER_3P_2DES_KEY1   0x29

Definition at line 51 of file xb360.h.

◆ XEKEY_WIRELESS_CONTROLLER_3P_2DES_KEY2

#define XEKEY_WIRELESS_CONTROLLER_3P_2DES_KEY2   0x2A

Definition at line 52 of file xb360.h.

◆ XEKEY_WIRELESS_CONTROLLER_MS_2DES_KEY1

#define XEKEY_WIRELESS_CONTROLLER_MS_2DES_KEY1   0x1F

Definition at line 41 of file xb360.h.

◆ XEKEY_WIRELESS_CONTROLLER_MS_2DES_KEY2

#define XEKEY_WIRELESS_CONTROLLER_MS_2DES_KEY2   0x20

Definition at line 42 of file xb360.h.

◆ XEKEY_XEIKA_CERTIFICATE

#define XEKEY_XEIKA_CERTIFICATE   0x37

Definition at line 65 of file xb360.h.

◆ XEKEY_XEIKA_PRIVATE_KEY

#define XEKEY_XEIKA_PRIVATE_KEY   0x34

Definition at line 62 of file xb360.h.

◆ XELL_FOOTER

#define XELL_FOOTER   "xxxxxxxxxxxxxxxx"

Definition at line 81 of file xb360.h.

◆ XELL_FOOTER_LENGTH

#define XELL_FOOTER_LENGTH   16

Definition at line 80 of file xb360.h.

◆ XELL_FOOTER_OFFSET

#define XELL_FOOTER_OFFSET   (256*1024-16)

Definition at line 79 of file xb360.h.

◆ XELL_OFFSET_COUNT

#define XELL_OFFSET_COUNT   6

Definition at line 83 of file xb360.h.

◆ XELL_SIZE

#define XELL_SIZE   (256*1024)

Definition at line 78 of file xb360.h.

Typedef Documentation

◆ kventry

typedef struct kventry kventry

Function Documentation

◆ cpu_get_key()

int cpu_get_key ( unsigned char *  data)

Definition at line 95 of file xb360.c.

◆ get_virtual_cpukey()

int get_virtual_cpukey ( unsigned char *  data)

Definition at line 102 of file xb360.c.

◆ kv_get_dvd_key()

int kv_get_dvd_key ( unsigned char *  dvd_key)

Definition at line 206 of file xb360.c.

◆ kv_get_key()

int kv_get_key ( unsigned char  keyid,
unsigned char *  keybuf,
int *  keybuflen,
unsigned char *  keyvault 
)

Definition at line 122 of file xb360.c.

◆ kv_read()

int kv_read ( unsigned char *  data,
int  virtualcpukey 
)

Definition at line 138 of file xb360.c.

◆ print_cpu_dvd_keys()

void print_cpu_dvd_keys ( void  )

Definition at line 241 of file xb360.c.

◆ print_key()

void print_key ( char *  name,
unsigned char *  data 
)

Definition at line 86 of file xb360.c.

◆ updateXeLL()

int updateXeLL ( char *  path)

Definition at line 342 of file xb360.c.

◆ xenon_get_console_type()

int xenon_get_console_type ( void  )

Definition at line 480 of file xb360.c.

◆ xenon_get_CPU_PVR()

unsigned int xenon_get_CPU_PVR ( )

Definition at line 468 of file xb360.c.

◆ xenon_get_DVE()

unsigned int xenon_get_DVE ( )

Definition at line 454 of file xb360.c.

◆ xenon_get_kv_offset()

unsigned int xenon_get_kv_offset ( )

Definition at line 545 of file xb360.c.

◆ xenon_get_kv_size()

unsigned int xenon_get_kv_size ( )

Definition at line 537 of file xb360.c.

◆ xenon_get_logical_nand_data()

int xenon_get_logical_nand_data ( void *  buf,
unsigned int  offset,
unsigned int  len 
)

Definition at line 528 of file xb360.c.

◆ xenon_get_PCIBridgeRevisionID()

unsigned int xenon_get_PCIBridgeRevisionID ( )

Definition at line 463 of file xb360.c.

◆ xenon_get_XenosID()

unsigned int xenon_get_XenosID ( )

Definition at line 475 of file xb360.c.

◆ xenon_logical_nand_data_ok()

int xenon_logical_nand_data_ok ( )

Definition at line 519 of file xb360.c.