home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / LiuTaoTao / crchk117.txt < prev    next >
Internet Message Format  |  2000-05-25  |  7KB

  1. Date: Wed, 11 Feb 1998 09:06:14 +0100
  2. From: PROAS <PROAS@ARRAKIS.ES>
  3. To: Liu TaoTao <ayliutt@nease.net>
  4. Subject: Craking ChkEXE 1.17 with TR!
  5.  
  6. How to unpack Hann0 Böck's ChkEXE 1.17 with Super TR 1.97 by eL PuSHeR
  7. ----------------------------------------------------------------------
  8.     In the doc Hanno says:
  9.  
  10. 'ChkEXE is protected with LZEXE v1.00a, REC v0.35, CrackStop v1.01 and some
  11. additional tricks.'
  12.  
  13. 'Liu TaoTao:
  14. Now I made a selfcheck that can't be faked with MKEXE. Try to find something
  15. against it. It's an old and well known methode.'                      
  16.  
  17.     Here are the steps to unprotect this cool program and still get a fully
  18. working EXE.
  19.  
  20. 1st.-  We already know that the primary shell is LZEXE, then REC 0.35 by
  21.        Ralph Rose and finally CrackStop 1.01 by Stefan Esser, so we must
  22.        find Fabrice Bellard's LZEXE entrypoint.
  23.  
  24.        We load TR and type in:
  25.  
  26.        + N CHKEXE.EXE
  27.        + AUTOINT 1 ON
  28.        + EXE1
  29.        + RELOAD
  30.        + GOXB 06 0E 1F 8B 0E 0C 00 <- Entrypoint for LZEXE'd files.
  31.  
  32.        We are ready to write the dump out to disk but we find we cannot,
  33.        because the protector has disabled the keyboard by stealing us the
  34.        keyboard handler. fuck!
  35.  
  36.        Well, don't panic. In this cases (most protectors will disable the
  37.        keyboard anyway) we must resort to BATCH file processing (good 'ole
  38.        batch).
  39.  
  40. 2nd.-  Making the batch file for TR to dump the EXE to disk and generate a
  41.        suitable file.
  42.  
  43.        COPY CON FUCKCHK.BAT (or use your favourite editor)
  44.  
  45.        N CHKEXE.EXE
  46.        AUTOINT1 ON
  47.        EXE1
  48.        RELOAD
  49.        GOXB 06 0E 1F 8B 0E 0C 00 <- LZEXE ENTRYPOINT
  50.        [GOREG CS] \
  51.        [GOREG CS] /  <- OPTIONAL (TRACE OVER LZEXE)
  52.        WEXE1
  53.        ;Second dump ....
  54.        EXE2
  55.        RELOAD
  56.        GOXB 06 0E 1F 8B 0E 0C 00
  57.        [GOREG CS] \
  58.        [GOREG CS] /  <- OPTIONAL (TRACE OVER LZEXE)
  59.        WEXE2
  60.        G ; Go until it exits to DOS to recover keyboard handler.
  61.        ^Z
  62.  
  63.        The lines in brackets are optional. I prefer to stop at LZEXE's
  64.        entrypoint and dump it to disk because I can open it later with an
  65.        specific utility such as UNP and get a smaller and cleaner image
  66.        of the original exe rather than tracing beyond and make a wild
  67.        guess of the original image size. :-)
  68.        Note: To unpack this with UNP -> UNP e -ail MEM.EXE
  69.  
  70.  
  71.        Now, let's load TR again.
  72.  
  73.        TR
  74.        DO FUCKCHK.BAT
  75.        Q <- We exit to DOS and we have the two dumps written to disk.
  76.        MKEXE <- Create MEM.EXE
  77.  
  78. 3rd.-  Now we have our newly created MEM.EXE. We look inside it with our
  79.        favourite hex editor. All text strings are visible now, so we can
  80.        assure it's unpacked. At last!. Then we execute it and *shit* it
  81.        got stuck. What's wrong?
  82.        Remember Hanno said he had protected his proggy with some tricks...
  83.        Yes, it's time to trace the code with our favourite debugger.
  84.        I used Soft-Ice 2.80 here.
  85.  
  86. 4th.-  You trace through the program and find it freezes at several condi-
  87.        tional jumps. Because I am a bit lazy, I haven't bother myself to
  88.        discover what the procedures do; let's just change the jumps, ok?
  89.  
  90.        1st comp. -> FIND FF 1E 00 02 74 07 -> CHANGE TO FF 1E 00 02 EB 07
  91.        2nd comp. -> FIND FF 1E 00 02 74 06 -> CHANGE TO FF 1E 00 02 EB 06
  92.        3rd comp. -> FIND FF 1E 00 02 74 04 -> CHANGE TO FF 1E 00 02 EB 04
  93.  
  94.                     They are very similar, aren't they?
  95.  
  96.        We have loaded MEM.EXE into our favourite hex editor and made these
  97.        changes permanent. It's time to try our EXE.
  98.        We execute it and it returns back to DOS ¡¡¡WITHOUT DOING NOTHING!!!
  99.  
  100.        Back to the debugger session ..... arghhh!!!
  101.  
  102.        After a little tracing, we find the instruction that laughed at us ...
  103.  
  104.        26 F7 06 5C 00 42 48 74 FE
  105.  
  106.        That is: TEST ES:[005C],4842 -> TEST two bytes at ES:005c with 'HB'
  107.                 JZ Fuck You
  108.  
  109.                 Hummm, That reminds me of signature added by PKLITE with
  110.                 extra compression ('PK' or 'pk' - as PKLITE 2.01 does) but
  111.                 this time 'HB', Hanno Böck huh?, how cunning.
  112.  
  113.        We must change this string to 26 C7 06 5C 00 42 48 90 90 to fake
  114.        the signature.
  115.  
  116. 5th.   We have made all these changes to MEM.EXE and execute it. WOW! It
  117.        works perfectly. Now we can pack it and save some KB's of precious
  118.        disk space.
  119.  
  120.        See you!
  121.  
  122.       Some words from the author of this crack:
  123.  
  124.       I am a 24 years old (accountancy) student who is currently busy working
  125. in a consultant's office. I love computers. 10 years have passed since I
  126. bought my first PC (It was an 2086 Amstrad, around 1.988) and now a have
  127. an 'almighty' Pentium 133. I have learned my little knowledge from scratch
  128. and by myself. I am very interested in keeping a huge collection of early PC's
  129. games, which were often copy-protected (key-disks and the sort), because I
  130. find cracking it's a funny way to learn assembler. My main concerns, right
  131. now is to make friends, learn more and uncover how to get rid of those nasty
  132. self-booters programs (those who work only booting them from floppies).
  133. I have collected a huge amount of tutorials over the years but no one cover
  134. this topic. Can anyone help me? I think it has a lot to do with Int 13h
  135. as it's a typical way to access disks making DOS unable to recognize 'em.
  136.  
  137.       I'd like to make a few complaints about TR too:
  138.  
  139. + TR is unable to step inside interrupts (like CUP386 does) which make
  140.   impossible to trace certain programs that left a resident portion of the
  141.   EXE in memory and dump them to disk.
  142.  
  143. + TR gets stuck when a program tries to access the floppy disk drive (as all
  144.   disk-based protections do).
  145.  
  146.   Anyway, I think TR is the outcome of a lot of hard work and it's cool. 
  147.   I also have Soft-Ice and I hate it, even most people says it's the *best*
  148.   debugger around. It's very user-unfriendly.
  149.  
  150. P.S. I would like to thank Liu TaoTao for his great TR (I'll send you a
  151.      postcard when I have the time) I'd send you money if I wasn't so poor
  152.      (we, students, are always in bad economic shape, you know). I encourage
  153.      you to put this crack on you web's page, but please, give me credit for
  154.      it. I'd also wish to thank Hanno Böck for make the best identifier
  155.      I've ever seen (in my humble opinion).
  156.      This crack is for EDUCATIONAL PURPOSE ONLY. I do not mean any harm
  157.      to any of the authors.
  158.      If anyone has any comments or just want to talk feel free to
  159.      e-mail me at my work:
  160.  
  161.      PROAS@ARRAKIS.ES (Mornings only)
  162.  
  163. PS2. I challenge everybody that claims to be 'elite' to try to unpack the
  164.      very old game BUDOKAN: THE MARTIAL SPIRIT BY ELECTRONIC ARTS (1.989)
  165.      The .COM file is encrypted and I think IT'S UNBREAKABLE (Good 8086 code)
  166.      I have tried it with tons of unprotectors (CUP ,TR, TEU, UPC, etc ...)
  167.      They all failed.................
  168.      If you want a copy to try (BUDO.COM) just leave me a message and I'll
  169.      try to send you via attachment.
  170.  
  171. PS3. Can anyone tell me what's this cool mailing-list all about?
  172.  
  173.  ------------------------ eL PuSHeR   Feb-10-1998
  174. -------------------------
  175.  
  176.  
  177.  
  178.