Sep 17th, 2023 at 7:45 pm
#1967
As more and more computers ship without optical drives, and old CDs and DVDs get lost or destroyed, the need for NoCD cracks rises. Maybe you have a game that's just downright broken (e.g. Spore). Or in this case, you're just too lazy to grab your digital backup and run Daemon Tools. you lardass

So... I've created a simple patch for a 2001 racing game called "Ballistics" that will allow you to play without the CD.



Why?
- Linux support. The native Linux port of the game is lost as there are no copies available and LGP went out of business in the early 2010s. The Windows version has trouble reading the CD drive sometimes even if you tell WINE to mount it to D: and report it to your application. This patch eliminates the problem.
- The CD is completely redundant and removing the DRM makes using personal backups easier without needing an image mounter or a physical disc which can degrade with time.
- Because it's fun--this is my first manual patch to an EXE ever or hack for any game (save for one random Terraria ultrawide mod I pasted from the internet).

Curiously, on top of the 2 very simple checks done to see if the game is in the CD drive, there's a third... "check" in the game's code that replaces the game's name in the titlebar(??) with a message saying "WOW! Look at mr l33+ h4x0r remove the cd check!". (this is partly just speculation, I haven't reverse engineered the code fully and I never plan to.) This code is completely useless and I'm not even sure if it does anything. It could just be a comment left in the code to mock cracking groups.

Drop-in replacement EXE
The NoCD executable can be found in my folder: https://bonkmaykr.worlio.com/patches/ballistics/NoCDCrack.exe

You will already need your own copy of the game to use this. Obviously for legal reasons I can't share the full game or it's assets here. Worlio is not a warez forum and while there's copyrighted content on here, it's things that serve a specific purpose--Ballistics for Windows is piss easy to find on ebay and several abandonware websites already, so I'd rather not risk just dumping a whole disc image here, even if Xicat is out of business.


Manual Patch
"But bonk, I don't want to download your shady executable!"
Well then, whip out your hex editor. The game's DRM is actually not that complicated, and we only need to jump over a couple of IF statements.

1. Open Ballistics.exe (from your own copy) in a hex editor of your choice. HxD for Windows or Bless for Linux will work.
2. Jump to the address 0000A18D.
3. Replace the bytes "0F 85 AF 00 00 00" with "E9 B0 00 00 00 00". This removes the CD check when the game boots.
*We're replacing a 6-byte JNE instruction with a 5-byte JMP 16-bit instruction. The difference in size will corrupt some of the following code and shift around some things but this is okay since we're skipping all that anyway. Incase you're wondering, this is why we jump to B0 instead of AF.
4. Now jump to the address 00068607.
5. Replace the bytes "0F 85 A7 00 00 00" with "E9 A8 00 00 00 00". This skips over the 2nd CD check while the game is running.
*Same deal as last time.
6. Remove the CD from the CD drive if inserted and start the game.



If you want me to NoCD crack one of your old games, whether it be for convenience or out of necessity, please let me know.
I WON'T take requests for digital media or anything too recent.