home *** CD-ROM | disk | FTP | other *** search
/ KeyGen Studio 2002 / KeyGen_Studio_2002.iso / Tutorials / Code Inside / Xcellent_tut3.TXT < prev    next >
Encoding:
Text File  |  2001-09-21  |  3.6 KB  |  71 lines

  1. Quake 3 CD-Check tutorial.....
  2.  
  3.     by Xcellent for TrickSoft - "Software made free by us"
  4.  
  5. Hi there! Welcome to tutor and this time a new game! Not so fresh
  6. but... Follow all instructions and be a happy no Cd_in_drive player!
  7.  
  8. Tools needed:
  9. W32Dasm - Disassembler and debugger (www.crackstore.com)
  10. Any hex editor (www.crackstore.com have many!)
  11.  
  12. This tool we will use (W32Dasm) is an disassembler and a 32 bit debugger, and
  13. using it is the most simple and easy way to kill cd protections.
  14. The game I will use to demonstrate is the Quake 3 Arena v1.17, removing the CD
  15. check routine.
  16. Run Quake3 and select single player, choose any level and click play...Fucking shit!!
  17. A message came saying: "INSERT THE CD".
  18. Now remember this message for use later and start W32Dasm, click open and select the
  19. quake3.exe file, wait the disassembler work and sleep a little........ZZZZZ....zzzzz..
  20. oh, what? ready, well, *ahem*, ok, click on menu refs - String Data Reference, a window
  21. will popup with a lot of messages, now what you need to do is search for that message,
  22. remember it? it's "INSERT THE CD". Ok, you find it? no? Yep, this time the game will
  23. use a different name for that dialog that isn't "INSERT THE CD" so we need to find
  24. something related to CD, like "CD not in drive", "CD not ready" or "Game
  25. CD not in drive". You'll find the message "Game CD not in drive", so double click
  26. on it, and you'll be in the right place, now you will see something like this:
  27. * Referenced by a CALL at Address:
  28. |:004374FE   
  29. |
  30. :00432460 83EC54                  sub esp, 00000054
  31.  
  32. * Possible StringData Ref from Data Obj ->"fs_restrict"
  33.                                   |
  34. :00432463 6834364B00              push 004B3634
  35. :00432468 E823CEFEFF              call 0041F290
  36. :0043246D D81DF0F34A00            fcomp dword ptr [004AF3F0]
  37. :00432473 83C404                  add esp, 00000004
  38. :00432476 DFE0                    fstsw ax
  39. :00432478 F6C440                  test ah, 40
  40. :0043247B 7418                    je 00432495
  41. :0043247D E8BE2E0100              call 00445340 <-- calls CD check routine
  42. :00432482 85C0                    test eax, eax <-- check the result
  43. :00432484 750F                    jne 00432495  <-- jump if the result is the expected
  44.  
  45. * Possible StringData Ref from Data Obj ->"Game CD not in drive" <-- else show that fucking dialog
  46.                                   |
  47. :00432486 68A4BE4B00              push 004BBEA4
  48. :0043248B 6A03                    push 00000003
  49. :0043248D E8FE9EFEFF              call 0041C390
  50. :00432492 83C408                  add esp, 00000008
  51.  
  52. Look at :00432484, that's the place where you will change the bytes, turning the jne to jmp,
  53. doing this, even if the value wasn't the expected (CD not in drive) or with the CD in drive the game
  54. will play!! Easy isn't!?
  55. But to change the bytes, you must know where they are into the executable, to do this move the bar to the
  56. address :00432484, doing this the bar will turn green, so take a look at the bottom of the screen and you
  57. will see:
  58. Line: 103161 Pg 2063 and 2064 of 6946 Code data @:00432486 @Offset 00032484h <-- that's the offset
  59. The address will always be named as Offset and it will be a hexadecimal value, in this case,
  60. the offset is 32484.
  61. So fire your hexadecimal editor, load the quake3.exe file and search for the offset 32484.
  62. Got it? now just change the 75 value to EB and save the file.
  63. Run Quake 3, and, wow!! you have cracked it!!
  64.  
  65. If you enjoyed this tutor and want more, send me a e-mail!
  66.  
  67. that's enough folks - wait for more....
  68.  
  69. Xcellent - The Brazillian cracK3r
  70. xcellent@bol.com.br
  71. www.tricksoft.net