I just found a nice interview with CrackZ here. He nails the point that curiosity and intellectual challenge trumps above everything else but also demonstrates the process from not caring about the impact of his acts to something more “ethical”. His site is still one of the best resources for Windows reversing, especially regarding dongles.

I have also decided to publish an incomplete version of my trainer for Contract Killer. I see that cheating is widespread so I think there’s not much impact from doing this. If the authors disagree on this feel free to contact me and I will immediately remove it. This code can fully decrypt the save file but encryption is missing the CRC32 part, so you have to reverse a little if you want to make it work.
No pain, no gain!

Have fun,
fG!

decrypt.nonworking.c
SHA256(decrypt.nonworking.c)= 321b641e6c0f3c73417e97420fe6c10baea39c1c262f414b4e00f626db0d7993

P.S.:
Updated the source code. I had a stupid bug in a fread call where I was reading 4 x int, resulting in overwriting the offset variable when compiled in 32 bit. Stupid typo. This new version works fine when compiled either in 32 or 64 bit.

P.S.2:
Added a new version, which adds error checking and fix a bug when adding the CRC32. If you are trying to show an example at least try to do it right.