---Welcome to CRACKER JOURNAL VOLUME 2: BUDOKAN: THE MARTIAL SPIRIT--- HARDWARE REQUIREMENTS: ROM 1.2 or higher 1 meg of memory or more Extra 3.5 floppy Hard Drive -Makes things easier! SOFTWARE REQUIREMENTS: Software for each project will be included. The CRACKER JOURNAL project was created by Apollo 69! and Psycho of AMIGA SYNDROME. In this second volume. we are going to walk through a deprotection of a program. This is a DOS based disk and requires a MANUAL for protection. Our object for Volume 2 is BUDOKAN. GOAL: Crack BUDOKAN so that the manual is never needed ANALYSIS: We want to decode some of the program to find out where the protection is. First thing always is boot up the game and see where the protection is. As you can see, the manual protectioncomes up just after the game is booted. This will give you a rough idea where the code we are looking for is. If you select the wrong family crest, and if you go to competition, you return back to the start of the game. So this tells you that it is checking for the correct response you entered. The most common way this is done is by using a flag variable. Say if the flag is 1 then the wrong code was entered. If the flag was 0 then the correct code was entered. So this tells you that we need to find the routine that checks for a response & flags a memory location. If possible, we want to skip the entire routine. This means we must defaut the flag so the computer thinks the correct response is entered and to do so, we must also go around the manual protection routine. OK all you brave souls here is where we get busy! All chickens back out NOW! You have just done step 1, now get familiar with the game. Next, boot up your system with the utility disk and put BUDOKAN disk 1 in df1: Get a directory of df1: ...SHIT... No Files! This is where the fun begins!!! For you experienced hackers, we must dissassemble the boot routine and see what is going on, but since this is a beginner's journal, I'll tell you what to do! Type "MONITOR" Place BUDOKAN 1 in df0: At the "." prompt type: . $3000c is where the boot program starts. $30000-$3000b is just header stuff. You can see at $3000c it says "BRA.S $3001c" so we enter: .d 3001c This next routine opens the "disk.resource" and goes through a bunch of garbage. Now as we decode the boot we come across some code that loads up some more stuff. All this will be covered in a later journal... And so to make things shorter this routine loads a routine that loads the main game, but before it starts the game, it does the manual protection routine... By tracing down the boot routine we come accross the actual protection routine, now reset your machine and boot up with the AMIGA SYNDROME UTILITY DISK VOLUME 2. All this boot coding leads us to block 82 in the BUDOKAN disk 1. type "WORKSHOP" Press R-MOUSE & select DRIVE/DF1: You come up on block 880. Click on BLOCK and change it to BLOCK 82! This information doesnt look important se we sjip through some sectors to see what we can find... As we skip, the numbres appear to be some sort of data, not enough of them look like 68000 intsruction numbers so we keep on going (use the = key to go up 1 sector at a time) As we keep on flipping, we come accross what looks like code on block 88. Towards thebottom we see some 68000 instructions, so we will flip to the next block & see what we see... Looks like more data. So we write down all of the blocks we want to check out. So far we have block 88 & 89. We go on to the next sector & see some code so we write down 90 also. Blocks 91-100 look like code information so we want to check it out. Quit WORKSHOP and type: "DEKSID" With BUDOKAN in df1: we select df1: from the menu. We will come up on block 0. Click on BLOCK and enter 88 and write down the TRACK,SECTOR,HEAD (4 0 0). Go to block 90 (T=4,S=2,H=0) 91 (T=4,S=3,H=0) etc.... Quit DEKSID and type "MONITOR" Now put BUDOKAN in df0: Press to see a list of commands for monitor. Look for Read Sector ( - because there is nothing important yet. We get down to $301b2 & we see some code. We need some more because we only read in one sector which is $30000-$301ff After $301ff there is nothing but regular memory. So we load in the next sector (89) after the previous sector at $30000. So our new address is $30200, so enter: . .d $30200 So far nothing important, just more data. So we keep on pressing . We get down to $305ff & see nothing important, so we go on and read the next sector. So enter the following: . .D 30600 Looks like more data so just hit . Now were at $3070e. We come accross some code. We look carefully at this code. At $3071e we see "MOVE.Q $FF,$685C"... Looks like some sort of flag because the next line says "MOVE.Q $00,$00C2CF". At $30780, we see several compares and branches so we write this down. On our notes we write that we are on block 90 and our block is loaded into location $30600 Now exit MONITOR (x ) Place the Utility Disk in df0: & BUDOKAN in df1: Now type: WORKSHOP Select DRIVE/DF1: Click on BLOCK and enter 90. Now what do we look for? If you wrote down the MOVE.Q #ff,$685c, this tells us to look for: 13FC 00FF0000 685C You can get these numbers from monitor by typing "M 3071e" -while in monitor But for some of use, we know MOVE.Q =$13FC and so on.... After you find it (12th Row, 6th Column Accross), change the 00FF to 0000 (13th Row, CLMN 1). If you boot up the game now, the game will still have the manual protection, so now we must find the manual routine. Now we exit workshop and type "MONITOR" and the type : . .d 3071e We keep on dissassembling until we get to $307A2 because we see "TST.W D2" and the next line is "BEQ" so we write down : 307A2 4A42 TST.W D2 307A4 6700 BEQ.L $307B4 307A8 6100 BSR.L $303B2 By looking at this code, we see that if the condition of TST.W D2 is positive then we jump to $307B4 & if not, we jump back to $303B2. So lets take out the BEQ and BSR and see what we get. Place the Utility disk in df0: and BUDOKAN in df1: Quit MONITOR and type: WORKSHOP Now select DRIVE/DF1: and go to block 90. Now we need to find "6700000E 6100FC08". Again, you could have got these numbers from MONITOR by typing "m 307A4". Find it? Row 18, Clmn 4 & 5. Select BLOCK/EDIT HEX.. Now change the 6700000E & 6100FC08 to 4E714E71 & 4E714E71 Exit edit mode, now select BLOCK/WRITE BLK and now click on "NO CHECKSUM" Now reboot & see what we have done. If it works, then CONGRATULATIONS!, if not, then your a LAMER! There were several things left out due to much explanation be needed! This is a simple crack, but to the beginner this may be difficult, so bear in mind that it only gets tougher... Next volume will have another manual protect since these are the most common. Density protectons are beyond the scope of this project and should be left up to us experts on DISK The end.