Amiga cracking: Nigel Mansell’s World Championship (c) [0] Introduction
.-=[ [0] Introduction ]=-. Ok, first things first, let’s quickly try to make a copy of the Game
.-=[ [1] Bypassing the codewheel protection ]=-. We enter a 3 digit code, but don’t press return: 691 Press the AR button, Now let’s use the Action Replay to find code that references the location We should have 3 references as shown in the picture above, and we can Looks like we’re in the right place, take a look at the code at the last |
|
00C0A64A : LEA.L 00C107E9,A0 | ;A0 points to code we entered |
00C0A650 : MOVE.L #00000000,D0 | ;clear D0 |
00C0A652 : MOVE.B (A0)+,D1 | ;copy one byte from our codenumber into D1, and increment A1 to point to the next one |
00C0A654 : BEQ.B 00C0A66A | ;branch if the last byte we read was zero |
00C0A656 : CMP.B #7F,D1 | ;7F is an ‘end of code’ marker used by the game |
00C0A65A : BEQ.B 00C0A66A | ;branch if we’ve reached marker byte. |
If you set a breakpoint on the next instruction, you will end up here when you press return after you entered a 3-digit code: |
|
00C0A65C : SUB.B #30,D1 | ;ascii-adjust value (subtract 30 turns “0” into 00, “1” into 01, etc.) |
00C0A660 : EXT.W D1 | ;extend to a word (clears high-byte of word) |
00C0A662 : MULU.W #000A,D0 | ;D0 * 0a (10), kept as rolling sum of code we entered |
00C0A666 : ADD.W D1,D0 | ;add next code byte to rolling total… |
00C0A668 : BRA 00C0A652 | ;and loop until we’ve done this for the 3 digits in the code |
So the 3 digits we entered are converted to their numerical values (from the ascii values), multiplied by 10 and added to the previous total. Now we’re looking for something that checks this calculated value, and we don’t have far to look 🙂 In fact, it’s the next instruction: |
|
00C0A66A : CMP.B (A5,023A),D0 | ;Compare the value calculated based on our code-entry, with some value |
00C0A66E : BEQ.W 00C0A684 | ;Branch if they are equal |
Let’s change the code here to always branch, and see if it works! So now the code above is patched to always branch, let’s return to the game and see what happens…wow, it works! Now all we have to do is… .-=[ [2] Make the patch permanent ]=-.
.-=[ [3] Final words ]=-. -Wayne Kerr, May 2004 |
|
Cracking
Shadow of the Beast 2 – Cracking Tutorial [French]
Download the ADF below Attachments ShadowOfTheBeast2_CRACK_TUTORIAL_FR_2020 File size: 3 MB Downloads: 625 Publication author offline 10 hours mus@shi9 0 Comments: 1163Publics: 2786Registration: 06-03-2017
Yo!
Cracked my first Amiga game to day thanks to bits of this tut.
Thx alot WayneK and u other dudes here.
Fantasitc Tutorial ,ive included a link to ProPack for depacking and packing the amiga exe ,incase people dont have XDFMaster