Nkpatcher can be used as an alternative to Phoenix Bios Loader in connection with exploits such as UXE or one of the game save exploits. PBL loads a completely new bios into memory while nkpatcher merely patches the existing kernel. The existing kernel must be one of the MS Xbox retail kernels, unpatched except possibly for having a slightly modified RSA public key which is used to verify signatures in Xbox executables.
Summary of nkpatcher 8.1 features:
* Works with retail kernels 3944 - 5838
* Run unsigned code
* Partition 6 / F drive (up to 137 GB)
* Eject trick/fix with options:
- no reset on eject for hard drive loaded XBEs, with options:
* reset on eject CD/DVD loaded XBEs based on a flag in the XBE header
* always reset on eject CD/DVD loaded XBEs
- never reset on eject for either of hard drive or CD/DVD loaded XBEs
* In-Game Reset, with options:
- Boot to dashboard instead of the usual DVD-first-then-dashboard -sequence
- Full reboot mode resets to the X logo screen, works better with
e.g. Soul Calibur 2, but getting back to dashboard takes longer
- Selectable master port, only allow IGR from the game pad attached to the
user configured port number
* Xbox Live blocking, prevents Live aware games from connecting to the Live
service which would result in a ban
* Automatic or user selectable game region set
* Virtual C drive, use a 500 MB file, for example e:\shadowc\shadowc.img, as
a C drive instead of the real C drive
* Virtual CD/DVD drive, play games directly from ISO images on the hard drive.
Summary of those features mentioned in http://www.xbox-scene.com/bios_retail.html
* original imports
* unsigned code
* debug xbe
* disable Xlive, optional
* macrovision off
* no-patch hack
* no-patch hack2
* eject trick, optional
* eject fix, optional
* HDD swap
* F/E boot v1, optional
* change bootfile v1, optional
* IGR to dash b, optional
* IGR to game, optional
* disable IGR, optional
* Xbox v1.0 - v1.6b
Below is the original post (at the time of nkpatcher 4):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Replacing the running kernel on Xboxes with kernel 5530 or higher doesn't work through the regular Phoenix BIOS Loader (PBL) and Bootable From Media (BFM) BIOS images - a fact of which owners of such boxes are painfully aware. Nkpatcher is proposed as a simple and temporary solution to the problem. The feature set is very limited and inferior to BIOSes such as Xecuter X2.
Currently nkpatcher has the following features:
* Runs unsigned code - no more signing everything
* Support for F drive (hard disk size limited to about 137 GB = 2^37 bytes)
* Eject fix
The code section below contains the source code and a habibi-signed XBE for nkpatcher. Running this XBE patches the kernel in memory to make the aforementioned features come to life. After that nkpatcher executes C:\evoxdash.xbe which is the executable of your favorite dashboard. Where users of pre-5530 Xboxes would run PBL, nkpatcher can be used instead.
Although nkpatcher can be used with any dashboard/game-save exploit (remember to font-sign nkpatcher.xbe if you still use some of the old font exploits!), it is best used in conjunction with the Ultimate Dashboard Exploit (UDE)
. You should get the latest fonts
and preferably use the specific font for 5530 (bert_ate_ernie-5530-01.xtf). Install UDE following the instructions in the UDE thread
and then copy nkpatcher.xbe from the tarball below to E:\default.xbe. Remember to place the executable of your favorite dashboard to C:\evoxdash.xbe.
Nkpatcher actually supports also kernels 5101, 5530, 5713 and 5838. The code is based on the kernel 4034 patches used in Complex !Loader. Kernel 5713+ users won't be able to use any dashboard exploit such as UDE, but could use a game-save exploit if they wish.
EDIT: updated to nkpatcher4. Just a minor bug-fix (the kernel patches weren't changed and there are no new features.)
EDIT2: update to nkpatcher5. Added more patching. Now it also runs debug xbes. Games that didn't work with previous versions, may work now. The Complex !Loader patches for < 5101 kernels were scrapped and re-made similar to the >=5101 patches. Nkpatcher should now behave similarly with all kernels (3944, 4034, 4627, 4817, 5101, 5530, 5713, 5838). Nkpatcher4 (to be removed) is still included below, because I altered the patching code a lot and may have introduced silly bugs.
EDIT3: update to nkpatcher6 and removed nkpatcher4. No new features, only a minor fix to 5713 and 5838. Added a new compile-time option: by default, nkpatcher boots C:\evoxdash.xbe. If you compile nkpatcher with the command-line option -dNORMAL_BOOT_SEQ, nkpatcher boots D:\default.xbe first then the dash. Remember to sign the xbe after compiling.
EDIT4: nkpatcher7 is a rather big feature upgrade; nicer eject-trick, IGR and Live blocking.
I proudly present nkpatcher 8.
It has these two novel features in addition to nkpatcher 7:
* Virtual/shadow C drive. No hassle with fonts or trouble with dashboard updates as long as you loaded nkpatcher.
* Virtual CD/DVD drive. You can attach .iso files on the hard drive as game discs.(I wanted to do this interesting stuff first. Oz_paulb's LBA48 code will appear in nkpatcher 9.)Now too large to post here - see xbins!This post has been edited by rmenhal: Dec 21 2004, 07:59 PM