The game was shareware and he'd show up to ask you to pay the fee. After the trial period he'd start lobbing missiles at you. There was a basic editor you could open to adjust all the ship stats and weapons, so while you couldn't turn him friendly you could at least de-claw him.
I remember thinking it was weird how "easy" it was to work around, but it's hard to imagine the studio would care much: a pre-internet 14 year who loved the game that much is probably more useful as an ambassador than a paying customer.
I also remember that in EV Override you needed to stay below a certain amount of money to not trigger Captain Hector, and I would set the system clock back so it wouldn't think that the trial period had passed.
There are two modern spiritual successors to the EV games that might interest you if you haven't heard of them. Both are open source and have a decent amount of content (but aren't complete): Endless Sky, and Naev. Where the former is much closer to the old EV games in feel.
But in this case I was hacking the shareware payment enforcement. Rather than shutting down completely the game would send an invincible and fairly destructive enemy (Hector) after you. It was really a clever trick from the developers to make the game mostly unplayable if you didn't pay after the trial period.
Many of them (us) made software for the love of it, and didn't care if it was cracked. I never got a single sale from my software but I didn't care.
It got me thinking: could I somehow pay them now? There's some sad news here: one of the original creators, Peter Cartwright, passed away [1] in 2026 :(
His project to remaster EV: Override, Cosmic Frontier, was fully funded after his death though!
[1]: https://www.kickstarter.com/projects/cosmicfrontier/cosmic-f...
Something I wonder! Grateful :D
There used to be program called Gamehack or something like that. Essentially you would start the game and point this application at said game in RAM, then take note of something like the score being "187" or whatever. Jump into 'Gamehack' and it would search for everything in memory with that value. You would then play for a little bit longer and once the score had changed, you could then jump into game hack and find which of those memory addresses had changed to the new score. Usually you would only have one, you could then change this number to what ever you wanted.
It was such a simple concept but it worked so well. Wouldn't be able to do something like that anymore due to all manner of sandboxing in action. Lost a tool, gained security.
Only other hack was messing with the vehicle stats in Vice City. Ended up with the firetruck that could jump the entire map. Good fun.
This class of programs absolutely still exists (see: every debugger, scanmem, GameConqueror, etc.).
Sandboxing doesn't prevent processes from inspecting the memory of other processes, it just prevents the sandboxed process from doing things it shouldn't.
https://en.wikipedia.org/wiki/Game_Genie
They really markted that well has having to enter codes, but of course, they were just ROM addresses + values to pretend to be at those addresses.
Then trying other random codes and finding stuff in your inventory like animal carcass
Man we had some good fun with that! It always ended with us boosting our cars so much they flew out of the map
Next step was trying to get the boot screen to display a MS-branded Borg cube but instead bricking the machine. Parents were not thrilled about that.
But to be honest I started before then, on the ZX Spectrum. First of all it was patching games to get infinite lives, or time. But later it became necessary to patch the loaders before you could even access the game-code - speedlock, bleeplock, etc.
Being able to pause a running game and peek/poke at the RAM would have been very useful for hacking games, though of course I'd still need to crack the loader to share the POKEs with other people.
Hitscan weapons for the win.
I imagine you could change the chances of mishaps, or start with $1M, or remove the limit of how many buffalo steaks you could bring back from a hunt.
I had been teaching myself programming for a few of years and had recently gotten my hands on Turbo Pascal. I had just started dabbling in assembly as well. So I launched the game through the debugger and by stepping through functions, in assembly obviously since I didn't have source, I finally got to the place where it waited for me to input the game results.
It encoded the game result in a single register, and compared the value in that register to a value in another register which it had loaded the correct value into.
Using the surrounding code, I located the byte in the executable and replaced that one comparison instruction with one which compared one of the registers with itself, which of course was the same all day err day. Wrote a small program to apply the one-byte patch.
Took a lot of time, especially tracing to find the right place since I wasn't very good at using the debugger nor that proficient with assembly. But very satisfying when my buddy could just enter whatever result he wanted and enjoy the game.
After that I dropped cracking games and focused on save-game cheats which I did for a while until games added sanity checks or just had very dynamic save-game formats.
That feeling of being the leetest of leet haxors just from editing some ini settings was pretty glorious.
Then there were the Duke Nukem 3D CON files...
wackplayer
If you know, you know.So I figured out where in the binary save file credits were stored and wrote a small Pascal program that would give me the highest possible credits so that I could focus on base and unit building :).