home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Mendoza / lxthowto3.txt < prev    next >
Text File  |  2000-05-25  |  9KB  |  155 lines

  1.                 the right way to go!
  2.          ▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄       ▄▄▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄
  3.          █ ▄▄▄▄ █  █ ▄▄▄▄ ▀▀▀▀▀▀▀▀▀ ▄▄▄▄ ▄▄▄▄ ▀▀▀▀ ▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀█  
  4.          █ ████ █  █ ████▀████ ████ ████ ████ ████▀████ ████ ████ █  
  5.          █ ████ ▀▀▀▀ ████ ████ ████▄████ ████ ████ ████ ████ ████ █  
  6.          █ ████ ████ ▄▄▄▄▄████ ▄▄▄███▄▄▄ ████ ████ ▄▄▄▄ ████ ████ █  
  7.          █ ████ ████ ████ ████ ████ ████ ████ ████ █  █ ████▀▀▀▀▀ █  
  8.          █ ████▄████ ████▄████ ████ ████ ████ ████ █  █ ████ █▀▀▀▀▀  
  9.          █ ▀▀▀▀ ▄▄▄▄▄▄▄▄▄▄ ▀▀▀ ▄▄▄▄▄ ▀▀▀  ▀▀▀ ▀▀▀▀ █  █ ▀▀▀▀ █
  10.          ▀▀▀▀▀▀▀▀        ▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀
  11.  
  12.                       GERMAN CRACKING FORCE / PC -───▄
  13.                       ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  
  14.  
  15.  
  16.  Cracking - HowTo #3 made for you by JoGy [Laxity]
  17.  
  18.  I read the tutorial from Yaan!, another cracker from Laxity, and
  19.  thought:  I should show you the differences between cracking with a
  20.  disassembler and a debugger.  So I decided to write this tutorial 
  21.  about cracking Ghosttyper 1.0e with SoftIce. 
  22.  
  23.  This tutorial won't show you how SoftIce works; but it will show you
  24.  how to crack a shareware program using it. 
  25.  
  26.  What you will need:
  27.  
  28.  * SOFTICE v. 3.0 or higher:
  29.  SoftIce is a "must-have" in the scene. Try to get it at
  30.  http://cracking.home.ml.org/  and don`t blame me, if you can`t find 
  31.  it or if it`s deadlinked !
  32.  
  33.  * PIECE OF PAPER:
  34.  You'll need it later to write down the right code 8)
  35.  
  36.  Oky, let's start. Open the ghosttyper.exe with the SymbolLoader from
  37.  SoftIce and  execute it by clicking on the LOAD button in SoftIce. 
  38.  You will be in  SoftIce at  the beginning of the program. So it's 
  39.  time to configure SoftIce a little bit:  write 'data' [enter] and 
  40.  write 'r' [enter]. Now a part of the SoftIce  window  shows the CPU 
  41.  registers and another shows the offset-adresses and  what's in them. 
  42.  
  43.  Press [F5] to let the program run, again. The Ghosttyper window,
  44.  where you should  register, will be opened. Click on the 'register' 
  45.  button and enter  your name and a  dummy code (e.g. 98765432). BEFORE 
  46.  you click on the OK button go back  in SoftIce by  pressing [CRT] & 
  47.  [d] at the same time. Back in ICE you have to set a  breakpoint. There 
  48.  are many breakpoints possible to set, but the one I prefer is for 
  49.  breaking on highmemcopy.  This bp will be activated if the program calls 
  50.  the  hmemcopy-procedure. (this program  reads in three values, so it 
  51.  calls the hmemcopy procedure three  times. Set the  breakpoint by typing 
  52.  this in SoftIce: 'bpx (that means breakpoint) hmemcpy' [ENTER]. 
  53.  
  54.  Now press [F5] again to switch back to Ghosttyper. Click the ok
  55.  button. Immediately  you will be back in ICE due to the breakpoint at 
  56.  hmemcpy. Press [F5]  two times.  Now press the [F12] button until you 
  57.  are out of the 16-bit adresses  in the 32-bit adresses.  You will stop 
  58.  at 0137:00436E92  POP ESI.  We are not more in KERNEL but in the GHOSTTYPER 
  59.  CODE and that's what we want. The prog  has read all neccessary information 
  60.  with hmemcpy. But where are the codes ? They have to  be somewhere.. 
  61.  so let's search for the dummy code 98765432! Probably the code is on an
  62.  adress beginning with 013F:????????. So let's move to those adresses
  63.  by typing  'd 013F:00000000'. Now let's search: 
  64.  type 's (for search) 0 l ffffffff (type as much  times the 'f' as the length 
  65.  of your code is. Each 'f' stands for one position in your  dummy code) '98765432''!
  66.  's 0 l ffffffff '98765432' [ENTER]
  67.  
  68.  After that you will see 'pattern found at 013F:00ADB778' ! Now, try
  69.  to think,  (if it is possible)...our dummy code is on the address
  70.  013F:00ADB778.hmmm......
  71.  
  72.  What we wanna find is the compare between our dummy code and the
  73.  right code:  so all we have to do is to set another breakpoint that will be
  74.  activated if our dummy code  is moved, read , deleted or overwritten. 
  75.  Therefore we use 'bpm (breakpoint on memory  access) 013F:00ADB778'[ENTER]. 
  76.  After you defined this bpm press [F5] and you will be  back immediately at 
  77.  the address 0137:00402AF1 INC ESI.  So, this means that something happens to 
  78.  our dummy code here; look at the [esi] register  by typing: 'd esi'[ENTER]. 
  79.  WOW! Our code is in the esi-register.  The line above MOV BL, [ESI] has moved 
  80.  the first number of our code into the BL register.  Trace further by pressing 
  81.  [F10] and let's try to understand what happens to our code:  There are many 
  82.  compares but it's not THE cmp WE are looking for. At the address  0137:00402B1D 
  83.  ADD EAX,EBX the first numba will be moved into the EAX register. If you  trace
  84.  further you will notice that we are in a loop which moves one codenumba after 
  85.  another into the EAX register by using ADD EAX, EBX. Press [F10] until you  
  86.  reach 0137:0046301F MOV ESI, EAX. (before you should have left two calls by 
  87.  tracing  through RET instructions.)  Type '? eax' and you will see our dummy 
  88.  code in the eax register. Now it will be moved   to the esi register. Trace one 
  89.  step further and type ' ? esi' and you will see our dummy   code in the esi register. 
  90.  Trace two steps further and you are diggin gold: CMP ESI, EAX. Yeah. Thatsit. 
  91.  The call before has given eax the right code. Get its value by typing
  92.  '? eax'  and use your peace of paper to write your code it down !
  93.  
  94.  If you wanna know how the code was calculated... have a look into the
  95.  call before. But that's   only neccessary if you want to code a keygenerator. 
  96.  (Maybe in the next tutorial ?)
  97.  
  98.  You made it. You ripped a code out of a shareware progarm using
  99.  SoftIce !
  100.  Did you notice that it`s much cheaper to register a ProG this way
  101.  ???? Common.... 
  102.  
  103.  If you understand it and you have fun cracking other progs: JOIN
  104.  US... 
  105.  JOIN  LAXITY - GERMAN CRACKING FORCE!!! Mail us and become a trial
  106.  memba !
  107.  
  108.  Perhaps I will write some other tutorials (if you want to !), but
  109.  don't terrorize  me by sending too much mail. (a tuti like this needs its time 
  110.  to be done!)
  111.  
  112.  
  113.  GOOD LUCK by TRYING to CRACK sharewareProGs!
  114.  CU
  115.  JoGy [Laxity]
  116.  
  117.  
  118.  
  119.  
  120.  ████████████████████████████████████████████████████████████████████████████
  121.  ██│╔══════════════════════════─»   Membaz:  «─══════════════════════════╗│██
  122.  ██│║ Animalo      │ founder, cracker         │▄ laxity_hq@gmx.net       ║│██ 
  123.  ██│║──────────────│──────────────────────────│──────────────────────────║│██ 
  124.  ██│║ SONIC 98     │ cracker, iNET admin      │▄ laxity_s98@gmx.net      ║│██
  125.  ██│║ pCsK8R       │ cracker                  │▄ laxity_pc@gmx.net       ║│██
  126.  ██│║ Yaan!        │ cracker                  │▄ laxity_yaan@hotmail.com ║│██
  127.  ██│║ JoGy         │ cracker                  │▄ jogy_laxity@hotmail.com ║│██
  128.  ██│║ The Brain    │ cracker                  │▄ the.brain.@gmx.net      ║│██     
  129.  ██│║ xCrk         │ cracker                  │▄ xcrk@bigfoot.com        ║│██
  130.  ██│║ vTeC         │ cracker                  │▄ @                       ║│██
  131.  ██│║ Swoop        │ cracker                  │▄ @                       ║│██
  132.  ██│║ Smakkker     │ cracker                  │▄ @                       ║│██
  133.  ██│║ Twister      │ cracker                  │▄ @                       ║│██
  134.  ██│║ Tiger of THT │ gfxer                    │▄ @                       ║│██
  135.  ██│║ Raptor #1    │ driver                   │▄ @                       ║│██
  136.  ██│║════════════════════════════════════════════════════════════════════║│██
  137.  ██│║                          Trial Membaz:                             ║│██
  138.  ██│║────────────────────────────────────────────────────────────────────║│██
  139.  ██│║ _awe_        │ gfxer, tester            │▄ @                       ║│██
  140.  ██│║════════════════════════════════════════════════════════════════════║│██
  141.  ██│║                             Greetz                                 ║│██
  142.  ██│║────────────────────────────────────────────────────────────────────║│██
  143.  ██│║             APP - GCG - GWA98 - NEXUS98 - UCF2000 - PC98           ║│██
  144.  ██│║════════════════════════════════════════════════════════════════════║│██
  145.  ██│║                           Join Laxity                              ║│██
  146.  ██│║────────────────────────────────────────────────────────────────────║│██
  147.  ██│║ Are you a cracker?... Contact laxity and ask him if you can join!  ║│██
  148.  ██│║ We need also slaves for our irc, spread, test and help section...  ║│██
  149.  ██│║════════════════════════════════════════════════════════════════════║│██
  150.  ██│║                               iNET                                 ║│██
  151.  ██│║────────────────────────────────────────────────────────────────────║│██
  152.  ██│║ IRC EFNET:   │ #laxity98                                           ║│██
  153.  ██│║ German Hq    │ http://gcf.notrix.de                                ║│██
  154.  ██│╚════════════════════════════════════════════════════════════════════╝│██
  155.  ████████████████████████████████████████████████████████████████████████████