···51* [TEIR1plus2's Xbox-Reversing](https://github.com/TEIR1plus2/Xbox-Reversing)
52* [ihatecompvir's x360-hv-notes](https://github.com/ihatecompvir/x360-hv-notes)
53* [Grimdoomer's Xbox 360 hypervisor article](https://icode4.coffee/?p=1047)
05455I likely wouldn't know nearly as much as I do if not for all the great open source
56projects detailing how parts of this system work, and all the people behind them.
5758-And an extra shoutout to the #coding-corner channel in the
59[Xbox 360 Hub](https://xbox360hub.com/) Discord.
6061## Removal Requests
···51* [TEIR1plus2's Xbox-Reversing](https://github.com/TEIR1plus2/Xbox-Reversing)
52* [ihatecompvir's x360-hv-notes](https://github.com/ihatecompvir/x360-hv-notes)
53* [Grimdoomer's Xbox 360 hypervisor article](https://icode4.coffee/?p=1047)
54+* [Byrom's Xbox_360_Research](https://github.com/Byrom90/Xbox_360_Research)
5556I likely wouldn't know nearly as much as I do if not for all the great open source
57projects detailing how parts of this system work, and all the people behind them.
5859+And an extra shoutout to folks from the #coding-corner channel in the
60[Xbox 360 Hub](https://xbox360hub.com/) Discord.
6162## Removal Requests
+18-12
homebrew/xebuild/freeboot-like_patches.md
···1**Emma's Xbox 360 Research Notes - Homebrew - xeBuild**
23-Updated 11th March 2025.
45Incomplete stub page.
6···1819All offsets for this are for the latest released hypervisor/kernel, 17559.
20000021## Hypervisor
2223### Initialisation Patch
···27Replaces a call to one of the startup functions with a branch to some shellcode
28at `0xB510`. (See below for more)
2930-### 0xF0 data clear
3132`0xF0` = `00000000 00000000 00000000 00000000`
3334-No idea.
3536### Memory Protection Patch
37···78Removes a check in HvxLoadImageData after a call to XeCryptMemDiff on a SHA-1
79hash of an XEX's memory page(?).
8081-### Unknown HvxResolveImports patches
8283`0x2AA80` = `60000000`
8485`0x2AA8C` = `60000000`
8687-Patches two checks in HvxResolveImports. No idea what they do yet.
8889### Initialisation and syscall 0 shellcode.
90···144the keyvault. The latter of these patches forces a value at 0x74 to always be 1.
145(TODO: Look into what this actually is doing.)
146147-### Patch Media ID check?
148149`0x24D58` = `38600001 4E800020`
150151Replaces a function that is called by HvxImageTransformImageKey and
152-HvxCreateImageMapping to always return 1. Seems to be related to the DVD auth
153-media ID.
154155### Patch FCRT hash check
156157`0x264F0` = `38600001`
158159-Replaces a branch to a hash checking function (?) within a HvxDvdAuthFcrt
160-subroutine to always return true.
161162### XEX key derivation patch shellcode
163164`0x29B08` = shellcode
165166-TODO. Looks to be to allow devkit XEXs to decrypt.
00167168### HvxImageTransformImageKey protected flag check patch
169···182183`0x2CDD8` = `60000000`
184185-Removes a keys flags check during HvxCreateImageMapping.
0186187### HvxExpansionInstall signature/encryption patches
188
···1**Emma's Xbox 360 Research Notes - Homebrew - xeBuild**
23+Updated 15th March 2025.
45Incomplete stub page.
6···1819All offsets for this are for the latest released hypervisor/kernel, 17559.
2021+Some information here was referenced from
22+[Byrom's research](https://github.com/Byrom90/Xbox_360_Research) as well as the
23+[RGLoader patchset](https://github.com/RGLoader/RGLoader-Patches). Thank you!
24+25## Hypervisor
2627### Initialisation Patch
···31Replaces a call to one of the startup functions with a branch to some shellcode
32at `0xB510`. (See below for more)
3334+### Devkit XEX AES key
3536`0xF0` = `00000000 00000000 00000000 00000000`
3738+Stores the devkit XEX AES key here for later use.
3940### Memory Protection Patch
41···82Removes a check in HvxLoadImageData after a call to XeCryptMemDiff on a SHA-1
83hash of an XEX's memory page(?).
8485+### HvxResolveImports revision check patches
8687`0x2AA80` = `60000000`
8889`0x2AA8C` = `60000000`
9091+Patches two checks in HvxResolveImports to bypass STATUS_REVISION_MISMATCH.
9293### Initialisation and syscall 0 shellcode.
94···148the keyvault. The latter of these patches forces a value at 0x74 to always be 1.
149(TODO: Look into what this actually is doing.)
150151+### Patch XGD2/DVD Media ID check
152153`0x24D58` = `38600001 4E800020`
154155Replaces a function that is called by HvxImageTransformImageKey and
156+HvxCreateImageMapping related to XGD2 Media ID to always return 1.
0157158### Patch FCRT hash check
159160`0x264F0` = `38600001`
161162+Replaces a branch to a PKCS#1 verification within a HvxDvdAuthFcrt subroutine to
163+always return true.
164165### XEX key derivation patch shellcode
166167`0x29B08` = shellcode
168169+TODO. Looks to be to allow devkit XEXs to decrypt, if the XEX signature check
170+fails it will attempt to decrypt it with the devkit XEX2 AES key stored at 0xF0
171+by one of the patches above.
172173### HvxImageTransformImageKey protected flag check patch
174···187188`0x2CDD8` = `60000000`
189190+Removes a keys flags check during HvxCreateImageMapping. Possibly region
191+related?
192193### HvxExpansionInstall signature/encryption patches
194
+2-2
official-software/kernel/memory_map.md
···1**Emma's Xbox 360 Research Notes - Kernel**
23-Updated 27th January 2024.
45# Memory Map
6···63| `0x8D000000` | TODO | Title encrypted allocations | TODO |
64| `0x8E000000` | 0x20000 | Certificate revocation list (CRL) | `0x01EF0000` |
65| `0x8E030000` | 0x10000 | Hypervisor data mirror (flags, etc) | `0x01F10000` |
66-| `0x8E050000` | 0x10000 | XEX2 header copies(?) | `0x01F20000` |
6768XEX2 images loaded into this space should have a base address between
69`0x80400000 - 0x8C000000`. (TODO: check hard limits)
···1**Emma's Xbox 360 Research Notes - Kernel**
23+Updated 15th March 2025.
45# Memory Map
6···63| `0x8D000000` | TODO | Title encrypted allocations | TODO |
64| `0x8E000000` | 0x20000 | Certificate revocation list (CRL) | `0x01EF0000` |
65| `0x8E030000` | 0x10000 | Hypervisor data mirror (flags, etc) | `0x01F10000` |
66+| `0x8E050000` | 0x10000 | XEX2 headers | `0x01F20000` |
6768XEX2 images loaded into this space should have a base address between
69`0x80400000 - 0x8C000000`. (TODO: check hard limits)