![]() AGA-Fixing | Artwork | Cracking | Demos | Emulation | FAQ | Feedback | Games | HD-Installing History | Home | Icons | Join Us | Links | Memberlist | MFM-Installing | News | Patches | Rob Northen | Utilities How to crack Microprose SoccerSome of the early copylocks were very easy to crack. This example is taken from the game Microprose Soccer, an early game from 1988 I believe. After loading the first part of the game, you will find the copylock routine. Once that is removed, the game is cracked. Note that when you get to the actual copylock routine, the initial part of the code looks normal, then the encrypted part starts. There is approximately $400 bytes worth of data (about 1kb) which looks like pure garbage (as it's all encrypted), and then the code will return to normal again. _MicroSoccer bsr _Copylock ;Do copylock routine
cmp.l #$a8d398fb,d0 ;Check for correct value
beq _CopylockIsOK ;If it matches, carry on
bsr _CrashGame ;Otherwise, crash the computer
_CopylockIsOK move.w #$7fff,$dff09a
move.w #$7fff,$dff09c
moveq #0,d0
...
rts
_CrashGame move.l #$ffff,d0
_Flash move.w #15,$dff180
subq.l #1,d0
bne _Flash
jmp 0
_Copylock move.l #0,d0 ;This routine reads track 1 of
pea _StartCopylock ;the disk and works out the
move.l (sp)+,$10 ;key, returning it in d0.
illegal
_StartCopylock move.l d0,$10
movem.l 8,d0-d7
movem.l d0-d7,(a6)
lea _NextPart(pc),a0
move.l a0,$10
illegal
...tonnes of encrypted data here...
movem.l d0-d7,8
movem.l _Stack(pc),d0-d7/a0-a6
rts
This example is an incredibly easy crack for several reasons:
The original programmer for whatever reason did a very simple check to see if the copylock track is geniuine. The most efficient way to crack this game is to alter the subroutine _Copylock, hardwire the key the game wants into d0 and you are done. _Copylock move.l #$a8d398fb,d0
rts
The hex equivalents for the above instructions are $203c $a8d3 $98fb $4e75. In the early days, you could just get a disk monitor out, search for the hex values of the original copylock code, change the 8 bytes to $203c $a8d3 $98fb $4e75, tack an intro on the front and release it as a new crack. And no doubt a lot of groups did do this. If the programmer wanted to give you a bit more of a challenge, he would have made the value in d0 do something else to the code, altering a lookup table or something. Also, displaying the correct key in the code is a bit like having a home security system with a keypad and having a post-it note on it with the right combination :) Now for the bad news, this is a very simple copylock and you are unlikely to be this lucky when HD installing a game! Later ones are much more difficult! AGA-Fixing | Artwork | Cracking | Demos | Emulation | FAQ | Feedback | Games | HD-Installing History | Home | Icons | Join Us | Links | Memberlist | MFM-Installing | News | Patches | Rob Northen | Utilities |
Site updated: 28/8/2005 ©1997-2005 Codetapper/Action! All rights reserved.