home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / GXY-INF.LHA / infos / vol2.txt < prev    next >
Encoding:
Text File  |  1996-03-09  |  7.7 KB  |  163 lines

  1. Welcome to CRACKER JOURNAL VOLUME 2: BUDOKAN: THE MARTIAL SPIRIT
  2.  
  3. HARDWARE REQUIREMENTS:
  4.  ROM 1.2 or higher
  5.  1 meg of memory or more
  6.  Extra 3.5 floppy
  7.  Hard Drive  -Makes things easier!
  8.  
  9. SOFTWARE REQUIREMENTS:
  10.  Software for each project will be included.
  11.  
  12. The CRACKER JOURNAL project was created by Apollo 69! and Psycho of
  13.  AMIGA SYNDROME.
  14.  
  15. In this second volume. we are going to walk through a deprotection of a
  16. program. This is a DOS based disk and requires a MANUAL for protection.
  17. Our object for Volume 2 is BUDOKAN.
  18.  
  19. GOAL: Crack BUDOKAN so that the manual is never needed
  20.  
  21. ANALYSIS: We want to decode some of the program to find out where the
  22.           protection is.
  23. First thing always is boot up the game and see where the protection is. As
  24. you can see, the manual protectioncomes up just after the game is booted.
  25. This will give you a rough idea where the code we are looking for is. If you
  26. select the wrong family crest, and if you go to competition, you return back
  27. to the start of the game. So this tells you that it is checking for the
  28. correct response you entered. The most common way this is done is by using a
  29. flag variable. Say if the flag is 1 then the wrong code was entered. If the
  30. flag was 0 then the correct code was entered. So this tells you that we need
  31. to find the routine that checks for a response & flags a memory location. If
  32. possible, we want to skip the entire routine. This means we must defaut the
  33. flag so the computer thinks the correct response is entered and to do so, we
  34. must also go around the manual protection routine.
  35.  
  36. OK all you brave souls here is where we get busy! All chickens back out NOW!
  37.  
  38. You have just done step 1, now get familiar with the game. Next, boot up
  39. your system with the utility disk and put BUDOKAN disk 1 in df1: Get a
  40. directory of df1: ...SHIT... No Files! This is where the fun begins!!!
  41.  
  42. For you experienced hackers, we must dissassemble the boot routine and see
  43. what is going on, but since this is a beginner's journal, I'll tell you what
  44. to do!
  45.  
  46. Type "MONITOR" <RETURN>
  47.  
  48. Place BUDOKAN 1 in df0: At the "." prompt type:
  49. .<s 30000 0 0 0     *Read block 0 into memory location $30000
  50. .<s 30200 0 0 1     *Read block 1 into memory location $30200
  51.  
  52. What did we just do? We read the boot block off of BUDOKAN into memory
  53. $30000. The boot block actualy consists of 2 blocks, block 0 & 1. We read
  54. block 1 into #30200 because each block on a normal DOS disk is 512 bytes
  55. (HEX = $200). Now we dissassemble the boot block. Do the following:
  56. .d 30000 <RETURN>
  57. $3000c is where the boot program starts. $30000-$3000b is just header stuff.
  58. You can see at $3000c it says "BRA.S $3001c" so we enter:
  59. .d 3001c <RETURN>
  60. This next routine opens the "disk.resource" and goes through a bunch of
  61. garbage. Now as we decode the boot we come across some code that loads up
  62. some more stuff.
  63. All this will be covered in a later journal... And so to make things shorter
  64. this routine loads a routine that loads the main game, but before it starts
  65. the game, it does the manual protection routine... By tracing down the boot
  66. routine we come accross the actual protection routine, now reset your
  67. machine and boot up with the AMIGA SYNDROME UTILITY DISK VOLUME 2.
  68.  
  69. All this boot coding leads us to block 82 in the BUDOKAN disk 1.
  70. type "WORKSHOP" <RETURN>
  71. Press R-MOUSE & select DRIVE/DF1: You come up on block 880. Click on BLOCK
  72. and change it to BLOCK 82!
  73.  
  74. This information doesnt look important se we sjip through some sectors to
  75. see what we can find... As we skip, the numbres appear to be some sort of
  76. data, not enough of them look like 68000 intsruction numbers so we keep on
  77. going (use the = key to go up 1 sector at a time)
  78. As we keep on flipping, we come accross what looks like code on block 88.
  79.  
  80. Towards thebottom we see some 68000 instructions, so we will flip to the
  81. next block & see what we see... Looks like more data. So we write down all
  82. of the blocks we want to check out. So far we have block 88 & 89. We go on
  83. to the next sector & see some code so we write down 90 also. Blocks 91-100
  84. look like code information so we want to check it out. Quit WORKSHOP and
  85. type: "DEKSID" <RETURN>
  86. With BUDOKAN in df1: we select df1: from the menu. We will come up on block
  87. 0. Click on BLOCK and enter 88 and write down the TRACK,SECTOR,HEAD (4 0 0).
  88. Go to block 90 (T=4,S=2,H=0) 91 (T=4,S=3,H=0) etc....
  89. Quit DEKSID and type "MONITOR" <RETURN>
  90. Now put BUDOKAN in df0: Press <RETURN> to see a list of commands for
  91. monitor. Look for Read Sector (<s [s][ths]). So at the "." prompt, enter:
  92. .<s 30000 4 0 0 <RETURN>      -<s   = Read Sector
  93.                               -[s]  = Start Address to put info read in
  94.                               -[ths]= Track, Head, Sector
  95. NOTE: DEKSID displays TSH and MONITOR displays THS
  96.  
  97. Now we dissassemble $30000
  98. We keep pressing <RETURN> because there is nothing important yet. We get
  99. down to $301b2 & we see some code. We need some more because we only read in
  100. one sector which is $30000-$301ff After $301ff there is nothing but regular
  101. memory. So we load in the next sector (89) after the previous sector at
  102. $30000. So our new address is $30200, so enter:
  103. .<s 30200 4 0 1 <RETURN>
  104. .d $30200 <RETIURN>
  105.  
  106. So far nothing important, just more data. So we keep on pressing <RETURN>.
  107. We get down to $305ff & see nothing important, so we go on and read the next
  108. sector. So enter the following:
  109. .<s 30600 4 0 2 <RETURN>
  110. .D 30600
  111.  
  112. Looks like more data so just hit <RETURN>. Now were at $3070e. We come
  113. accross some code. We look carefully at this code.
  114.  
  115. At $3071e we see "MOVE.Q $FF,$685C"... Looks like some sort of flag because
  116. the next line says "MOVE.Q $00,$00C2CF". At $30780, we see several compares
  117. and branches so we write this down. On our notes we write that we are on
  118. block 90 and our block is loaded into location $30600
  119.  
  120. Now exit MONITOR (x <RETURN>)
  121. Place the Utility Disk in df0: & BUDOKAN in df1: Now type:
  122. WORKSHOP <RETURN>
  123.  
  124. Select DRIVE/DF1: Click on BLOCK and enter 90. Now what do we look for?
  125. If you wrote down the MOVE.Q #ff,$685c, this tells us to look for:
  126. 13FC 00FF0000 685C
  127. You can get these numbers from monitor by typing "M 3071e" -while in monitor
  128. But for some of use, we know MOVE.Q =$13FC and so on....
  129. After you find it (12th Row, 6th Column Accross), change the 00FF to 0000
  130. (13th Row, CLMN 1). If you boot up the game now, the game will still have
  131. the manual protection, so now we must find the manual routine. Now we exit
  132. workshop and type "MONITOR" <RETURN> and the type :
  133. .<s 30600 4 0 2 <RETURN>
  134. .d 3071e
  135. We keep on dissassembling until we get to $307A2 because we see "TST.W D2"
  136. and the next line is "BEQ" so we write down :
  137. 307A2 4A42 TST.W  D2
  138. 307A4 6700 BEQ.L  $307B4
  139. 307A8 6100 BSR.L  $303B2
  140.  
  141. By looking at this code, we see that if the condition of TST.W D2 is
  142. positive then we jump to $307B4 & if not, we jump back to $303B2. So lets
  143. take out the BEQ and BSR and see what we get.
  144. Place the Utility disk in df0: and BUDOKAN in df1: Quit MONITOR and type:
  145. WORKSHOP <RETURN>  Now select DRIVE/DF1: and go to block 90.
  146. Now we need to find "6700000E 6100FC08". Again, you could have got these
  147. numbers from MONITOR by typing "m 307A4".
  148. Find it? Row 18, Clmn 4 & 5.
  149. Select BLOCK/EDIT HEX.. Now change the 6700000E & 6100FC08 to 4E714E71 &
  150. 4E714E71
  151.  
  152. Exit edit mode, now select BLOCK/WRITE BLK and now click on "NO CHECKSUM"
  153. Now reboot & see what we have done.
  154. If it works, then CONGRATULATIONS!, if not, then your a LAMER!
  155. There were several things left out due to much explanation be needed!
  156.  
  157. This is a simple crack, but to the beginner this may be difficult, so bear
  158. in mind that it only gets tougher... Next volume will have another manual
  159. protect since these are the most common. Density protectons are beyond the
  160. scope of this project and should be left up to us experts on DISK
  161. DESTRUCTION!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  162.  
  163.