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

  1.  ---------------------------------
  2. | How to crack WinRoute Lite v3.0 |  by da Cracker/CBE
  3.  ---------------------------------
  4.  
  5.  
  6. Introduction:
  7. ────────────
  8. Many peoples these days are asking me "Can you teach me how to crack?" That's
  9. why I decided to write my third tutorial, requested by (don't remember). In
  10. this tutorial, I'll teach you how to crack WinRoute Lite v3.0... I hope that
  11. you'll enjoy it! If you have any comment, suggestions, .... please e-mail me
  12. at dc_cbe@hotmail.com
  13.  
  14.  
  15.  ┌────────────────────Index──────────────────────────┐
  16.  |                                                   |
  17.  |1) Programs that you'll need to crack WinRoute Lite|
  18.  |2) Finding the location that needs to be patched   |
  19.  |3) Patching the location                           |
  20.  |4) Changing text in the program                    |
  21.  |5) Writing a patcher in Pascal                     |
  22.  |6) Final Notes                                     |
  23.  └───────────────────────────────────────────────────┘
  24.  
  25. 1) Programs that you'll need to crack WinRoute Lite
  26.    ────────────────────────────────────────────────
  27.  
  28. Here's the list of programs that you'll need to get to crack WinRoute Lite:
  29.  
  30. WinDisassembler
  31. WinRoute Lite (no, really? ;) )
  32. Hacker's View
  33.  
  34. Don't expect to crack it without these utilities!
  35. Note: You can get them at http://cracking.home.ml.org, or if you're a CBE
  36. member, at CBE's memberz FTP Area
  37. And you can get WinRoute Lite at http://www.winroute.com
  38.  
  39.  
  40. 2) Finding the location that needs to be patched
  41.    ─────────────────────────────────────────────
  42.  
  43. Now we're going to find the location that needs to be patched (where you have
  44. to modify the program so that it doesn't expire...)
  45.  
  46. Start WinRoute Lite
  47. What do I see? WinRoute 3.0, 30 days evaluation... Hehe, it's a 30-day
  48. evaluation. Ok, let's crack this piece of shit ;)
  49. Exit WinRoute Lite
  50. Now, add one month to your system date (you should know how to do that)...
  51. Start WinRoute Lite again.
  52. Trial Expired! You surely still want to use this nice little proggie... Ok,
  53. let's go: let's CRACK it. Remember the message (Trial Period Expired).
  54. Now, exit WinRoute Lite (again!)
  55. Go to the directory where WinRoute Lite is installed (normally
  56. c:\Program Files\WinRoute 3.0)
  57. Copy the file wrlite.exe to wrlite.bak (for Backup) and to 1.exe (for use by
  58. w32dasm... Why??? Because of the crappy "Application Running, can't modify it"
  59. Done? ok, now run w32dasm.
  60. Click on Disassembler --> Open File to Disassemble
  61. Go to the directory of WinRoute Lite and select 1.exe
  62. Disassembles quite fast, heh? That's because this prog is small... Now, click
  63. on the menu Search --> Find Text and search for "trial period expired" (that
  64. was our error message, remember?) Here's what we get:
  65.  
  66. *Possible StringData Ref from Data Obj -> "#5Trial period has expired" <-- Sux
  67.  
  68. :0040B348 6898704200              push 00427098 <-- Saves some useless info
  69. :0040B34D E80E7D0000              call 00413060 <-- Calls some shit
  70. :0040B352 83C404                  add esp, 00000004 <-- Adds 4 (not base 10!) to esp
  71.  
  72. ummm, so, what can we do are you going to ask me... But... What do we see one
  73. line up?
  74.  
  75. :0040B346 750D                    jne 040B355 <-- Jump there if trial period not expired
  76.  
  77. Do you understand what we have to do? Yes? jne stands for jump if not equal
  78. and je stands for je if equal... So, what should we do? Change jne to je? Nah,
  79. because if the trial period hasn't expired, it will go to the place where it
  80. sayz that it has expired. So, what else can we do? Replace jne with jmp, of
  81. course! jmp jumps directly there, no matter what happens.
  82.  
  83. That's it!!! You found the location to patch!!!
  84. And now you just need to patch it! (described in part 3)
  85.  
  86.  
  87. 3) Patching the location
  88.    ─────────────────────
  89.  
  90. Click on the location where the conditional jump (0040B346) has occured.
  91. In the status bar, you'll see: "Code Data @: 0040B346 @Offset 0000A746h"
  92. So the offset address is A746 (you don't need the 0's and the h)
  93. Ok, remember this.
  94. Start Hacker's View to edit the exe file of WinRoute Lite (hiew wrlite.exe)
  95. Press F4, select Decode and press enter
  96. Press F5 (goto offset) and type A746 (that's where we want to go) + Enter
  97. Now, you're almost done....
  98. Press F3 (To edit the program)
  99. You can see 75 and some other things. 75 stands for jne (jump if not equal)
  100. Ok, so now we have to replace jne to jmp (jump directly)
  101. The Hex code for jmp if EB, so type EB.
  102. Now, press F9 to update the file and F10 to exit.
  103. Start WinRoute Lite.
  104. WinRoute Lite isn't expired!!
  105. Voila!!! WinRoute Lite will never expire! You've made it!
  106. Oh, another thing, put your system date at the right date back (one month
  107. before...)
  108.  
  109.  
  110. 4) Changing text in the program
  111.    ────────────────────────────
  112.  
  113. Because I had some more time for this tutorial, I decided to write another
  114. section that is NOT required for the crack to work, but makes the program
  115. *pretty* ;) What I mean is that instead of the "30 days evaluation" it could
  116. be written "Cracked by dC/CBE", well you know what I mean...
  117. Oh yeah, before doing this, copy the cracked wrlite.exe to wrlite.cra for a
  118. 2nd backup (in case you mess up with the exe...). Ok, now, you can use either
  119. Hacker's View or HexWorkshop, or any other Hex Editor... In this tutorial,
  120. I'll use Hacker's View because it's my favorite. Ok, so let's go!
  121. Start Hacker's View (type "hiew wrlite.exe"). How are we going to proceed?
  122. Well, start the program to know... Which text(s) would you like to change?
  123. Ummm, "WinRoute v3.0, 30 days evaluation <-- hahaha" ok, we'll change this one
  124. first. In Hacker's View, press F4, but this time, choose Hex (+Enter). Damn!
  125. This program is ugly! ;) Ok, we're going to search for "30 days evaluation"
  126. Press F7. Type "30 days evaluation" (+Enter)... I found out that the first one
  127. that you find isn't the right one (there are only two such messages)...
  128. Ok, so press on the right arrow once. Now, press F7 and then enter. Now we
  129. found the thing that we wanted to change! Here's what we found:
  130.  
  131.                                                             %s %s, 30 da
  132.                                                         ys evaluation
  133.  
  134. Press F3 to Edit the program... Now you can edit it with HEX values... DON'T
  135. do so! Press tab and now, you can edit it with characters... Change "30 days
  136. evaluation" to "Cracked by dC/CBE", but be AWARE that if you change more than
  137. 17 characters, the program WON'T work. Why 17 characters? Because, count how
  138. many characters there are in "30 days evaluation"... 17! If you don't want to
  139. put anything, but you don't want it to display "30 days evaluation", just put
  140. spaces. Once you're done, press F9 and then F10 to exit.
  141.  
  142.  
  143. 5) Writing a patcher in Pascal
  144.    ───────────────────────────
  145.  
  146. Now, to release the crack, you have to make what we call a patch.
  147. Yeah, you can't distribute the exe for two reasons:
  148. 1) It's illegal (a patch isn't illegal: it's your prog; but when a persons uses
  149. it, it's illegal)
  150. 2) It's quite big for a crack
  151.  
  152. In the last tutorial, the patcher was in C++, so I decided to make this one in
  153. pascal... Humm, next time will be assembler ;)
  154. Here's the Pascal source code of the patcher:
  155.  
  156. -------------------------------cut here---------------------------------------
  157.  
  158. Const Offset : Array [1..18] Of LongInt = (
  159.     42822, 154843, 154844, 154845, 
  160.     154846, 154847, 154848, 154849, 154851, 
  161.     154852, 154853, 154854, 154855, 154856, 
  162.     154857, 154858, 154859, 154860 );
  163.  
  164. Const Data : Array [1..36] Of Byte = (
  165.     117, 235, 51, 67, 48, 114, 32, 97, 
  166.     100, 99, 97, 107, 121, 101, 115, 100, 101, 98, 
  167.     118, 121, 97, 32, 108, 100, 117, 67, 97, 47, 
  168.     116, 67, 105, 66, 111, 69, 110, 32 );
  169.  
  170. Var Filename: File;
  171.   Counter : Word;
  172.   Readbyte : Byte;
  173. Begin
  174.   Write (' ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄');
  175.   Write (#13+ #10+ '█▀                                   ▀█');
  176.   Write (#13+ #10+ '█          WinRoute Lite 3.0          █');
  177.   Write (#13+ #10+ '█       REMOVES EXPIRATION DATE       █');
  178.   Write (#13+ #10+ '█          by da Cracker/CBE          █');
  179.   Write (#13+ #10+ '█                                     █');
  180.   Write (#13+ #10+ '█      E-mail: dc_cbe@hotmail.com     █');
  181.   Write (#13+ #10+ '█    Website: http://www.cbe98.org    █');
  182.   Write (#13+ #10+ '█         IRC: #cbe98 on Efnet        █');
  183.   Write (#13+ #10+ '█            Affiliate: PGC           █');
  184.   Write (#13+ #10+ '█▄                                   ▄█');
  185.   Write (#13+ #10+ ' ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀');
  186.   Write (#13+ #10+ #13+ #10+ '■ OPENING FILE : ');
  187.   Assign (Filename, 'WRLITE.EXE');
  188.   {$I-} Reset (Filename, 1); {$I+}
  189.   If IOResult = 0 Then Begin
  190.     Write ('OK!'+ #13+ #10+ '■ CHECKING SIZE : ');
  191.     If FileSize (Filename) = 192000 Then Begin
  192.       Write ('OK!'+ #13+ #10+ '■ CRACKING FILE : ');
  193.       For Counter:= 1 To 18 Do Begin
  194.            Seek (Filename, Offset [Counter] );
  195.         BlockRead (Filename, Readbyte, 1);
  196.         If Readbyte = Data [Counter* 2- 1] Then Begin
  197.           Seek (Filename, Offset [Counter] );
  198.           BlockWrite (Filename, Data [Counter* 2], 1);
  199.         End Else Begin
  200.           WriteLn ('SJiT!'+ #13+ #10+ '■ FILE ALREADY CRACKED OR DIFFERENT!'); Close(Filename); Halt;
  201.         End;
  202.       End;
  203.       Close (Filename);
  204.       WriteLn ('OK!'+ #13+ #10+ '■ CRACK SUCCESSFULL!');
  205.     End Else WriteLn ('ERROR!'+ #13+ #10+ '■ WRONG VERSiON OF FILE!');
  206.   End Else WriteLn ('ERROR!'+ #13+ #10+ '■ CAN''T OPEN FILE !');
  207. End.
  208. ----------------------------------cut here------------------------------------
  209.  
  210. Now, compile this patcher (with Turbo Pascal) and you can distribute your
  211. crack!
  212.  
  213.  
  214. 6) Final Notes
  215.    ───────────
  216.  
  217. I hope that you enjoyed reading this tutorial as much as I did writing it!
  218. I wrote it for someone who is a newbie and who wants to learn how to crack...
  219. Good luck, (I don't remember his name!)!
  220.  
  221. -da Cracker/CBE
  222. dc_cbe@hotmail.com
  223. http://www.cbe98.org
  224. #cbe98 on Efnet
  225. Come and chat with us on IRC!
  226.