Skip to content

Instantly share code, notes, and snippets.

@nk2IsHere
Last active July 2, 2023 03:11
Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save nk2IsHere/f902851893601d974e772631f64fabb9 to your computer and use it in GitHub Desktop.
Save nk2IsHere/f902851893601d974e772631f64fabb9 to your computer and use it in GitHub Desktop.
an interseting tutoriel

Thanks:

Prerequisites:

  • WinXP SP1 or Win2003 SP0 iso x86
  • from 3 to 6 hours of your life
  • patience and optimism (oh you should have a lot of it)
  • less than 8 cores dedicated to VM (4 cores work fine, 8 cores make your life hell when trying to build sources using badly coded scripts)

The result:

Down below.

The process:

  • set system time to 2003-08-01(yyyy-mm-dd) before extraction
  • extract cabs with batch file that comes with it (do not forget to edit x.cmd for the correct extract paths)
  • unset Read Only on NT folder (and subfolders/files)
  • cd to NT directory
  • import tools\driver.pfx (double click and hit next on the import wizard)
  • tools\razzle free offline (or 'tools\razzle offline' for debug)
  • wait for shit, close the notepad that opens
  • \NT\base\ntos\ex\exp.h \NT\inetsrv\msmq\src\lib\ex\lib\exinit.c \NT\base\crts\crtw32\time\systime.c replacement down below, replace em!
  • run CheckTestRoot.cmd and CheckTestPCA.cmd
  • perl tools\timebuild.pl -NOCLEANBUILD -NOSYNC -NOSCORCH
  • wait for build ...
  • if any errors in build.err, run build /ZP (race conditions in timebuild might have made stuff build before their dependency, running build /ZP will try the failed stuff again)
  • hopefully now build.err is empty (probably have directui.lib missing error though, either copy from XP or see if there's a built directui.lib and copy to \public\internal\windows\lib\i386)
  • if you copied directui etc run build /ZP again
  • once build.err is empty, copy missing files (winlogon.exe & other missing bins, TBA) into binaries.x86fre
  • then run perl tools\timebuild.pl -NOCLEANBUILD -NOSYNC -NOSCORCH -RESUME
  • do tools\postbuild to start the process of build the iso from bins
  • after all the steps check binaries.x86fre/build_logs/postbuild.err and grab all the missing files mentioned in there from ISO
  • edit tools/postbuildscripts/pbuild.dat and comment out the sxs_make_asms_cabs lines
  • grab asms01.cab from w2k3 ISO and put that into binaries.x86fre, and binaries.x86fre/srv/i386, replacing the one thats there
  • run timebuild one more time and it should sign all the shit for you, now you should have a working setup inside binaries.x86fre/srv/
  • finally use oscdimg -n -betfsboot.com D:\binaries.x86fre\srv srv.iso to turn that into bootable iso assuming etfsboot.com is in your current folder

Yee, it was stupid of me to paste ms code in ms code sharing plaform, lol

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment