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

  1. ╒Γ╩╟╥╗╕÷─▄╒╥╡╜ZIP╬─╝■├▄┬δ╡─╚φ╝■ú¼├√╜╨ú║
  2. This is a SoftWare which can find password of a ZIP file. Its name is:
  3.  
  4. Fast ZIP Cracker 1.04 (C) 1995 Fernando Papa Budzyn. Montevideo, Uruguay.
  5.  
  6. ╘┌╬─╝■FZC.EXE╓╨┐╔╥╘╖ó╧╓╧┬┴╨╫╓╤∙ú¼╧╘╚╗EEXE╩╟╥╗╕÷╝╙┐╟╚φ╝■íú
  7. Follow string can be find in file 'FZC.EXE'.Obviously 'EEXE' is the shell.
  8.  
  9. EEXE 1.12 -- (C) 1995 Fernando Papa Budzyn. Montevideo, UY.
  10.  
  11.  
  12. ╙├TR╡≈╚δFZC║≤ú¼╡┌╚²┤╬GOKNL╩▒╖ó╧╓┴¼╨°╥╗┼┼CALL FARú¼║├╧≤╩╟╬─╝■┐¬╩╝íú
  13. ═╤┐╟╣²│╠╩╟ú║
  14. Load FZC.exe in TR, after 3 times 'GOKNL', we can find serials 'CALL FAR'.
  15. And this is kernal. Follow is how to get the kernal:
  16.  
  17.     TR fzc.exe
  18.         getknl 3    ;means get out of 3 shells
  19.         q
  20.     mkexe            ;this will make file 'mem.exe'
  21.  
  22. ╒Γ╤∙╬╥├╟╛═╡├╡╜┴╦═╤┐╟║≤╡─EXE╬─╝■MEM.EXEíú╡½╩╟╒Γ╕÷╬─╝■▓╗─▄╓▒╜╙╓┤╨╨ú¼╥≥╬¬╞Σ╓╨
  23. ╗╣╙╨╝╙├▄╡─▓┐╖╓íú╙├TR╡≈╚δMEM.EXEú¼╙├╥╗┤╬╨╘╢╧╡πgoint 21 ah=3dú¼╡┌╚²┤╬╩▒D DX
  24. ┐╔╥╘╖ó╧╓╒Γ╩╟┤≥┐¬╫╘╔φ╜°╨╨╝∞▓Θíú╙├PRETú¼Tú¼P├ⁿ┴ε╖╡╗╪ú¼┐╔╥╘╖ó╧╓ú║
  25. And then we get the kernal "mem.exe". But this file can not run directly.
  26. Lod 'MEM.exe' in TR, use one-time break-point "goint 21 ah=3d" 3 times.
  27. When 'D DX', we can find this is open itself to check. Use command
  28. "pret","T","P", and:
  29.  
  30.     OR        AX,AX                    ;696E:01DB  09C0            
  31.     JE        01E2                     ;696E:01DD  7403            
  32.     CALL      0000                     ;696E:01DF  E81EFE          
  33.  
  34. ╚▌╥╫╖ó╧╓╧┬├µ╥╗╢╬╢╝╩╟╝∞▓Θ╩╟╖±▒╗╜Γ├▄╣²╡─ú¼╢°CALL 0╩╟┤φ╬≤│÷┐┌ú¼╕─╡⌠╦ⁿú║
  35. It's easy to find these codes are for check if been cracked, and 'Call 0'
  36. is error process. Patch it:
  37.  
  38.         1bd:  e9f200 jmp 2d0
  39.  
  40. which means:
  41.  
  42. find:          09 c0 74 03 e8
  43. change to:     e9 f2 00
  44.  
  45. That is!
  46.  
  47. ╥≥╬¬╒Γ╕÷│╠╨≥╩╟╙├PASCAL▒α╡─ú¼╦∙╥╘┐╔╥╘╙├TEU╓«└α═≥─▄═╤┐╟╚φ╝■═╤ú¼═╤╡├╙╓┐∞╙╓
  48. ╕╔╛╗íú╡½╚τ╣√╦ⁿ▓╗╩╟╙├╕▀╝╢╙∩╤╘▒α╡──π╙╓╡▒╚τ║╬ú┐
  49. ╒Γ└∩┴╨│÷╒Γ╕÷│╠╨≥╡─╜Γ╖¿╩╟╥≥╬¬╦ⁿ░∩╬╥╒╥╡╜┴╦TR╡─╥╗╕÷┤φ╬≤ú¼╩╣TR╙╔1.00╔²╬¬1.01íú
  50. ╒Γ╕÷╬╩╠Γ╩╟ú║─π╓¬╡└╫╓╜┌f1┤·▒φ╩▓├┤╗π▒α╓╕┴ε┬≡ú┐╦∙╙╨╡─╡≈╩╘│╠╨≥╢╝▓╗╚╧╩╢╦ⁿú¼╡½
  51. ╒Γ└∩╬╥╥¬╕µ╦▀─πú¼╦ⁿ┤·▒φINT 1íú╒²╧≤CC┤·▒φINT 3╥╗╤∙ú¼F1┤·▒φINT 1íú╗≥╨φ─π▓╗
  52. ╧α╨┼ú¼╟δ╙├╧┬├µ│╠╨≥╥╗╩╘ú║
  53. Do you know what 'f1' means in assemble language? I can tell you it means
  54. 'int 1', just link 'cc' means 'int 3'. This is a test program:
  55.  
  56. intnum = 1
  57. model tiny
  58. .code
  59.     org 100h
  60. begin:
  61. .386c
  62.     push    ds
  63.     push 0
  64.         pop    ds
  65.         mov    eax,[ds:intnum*4]
  66.         mov    [cs:saveint],eax
  67.         mov    ax,offset newint
  68.         cli
  69.         mov    [ds:intnum*4],ax
  70.         mov    ax,cs
  71.         mov    [ds:intnum*4+2],ax
  72.         sti
  73.         pop    ds
  74.  
  75.         call    testmain
  76.  
  77.     push    ds
  78.     push 0
  79.         pop    ds
  80.         mov    eax,[cs:saveint]
  81.         mov    [ds:intnum*4],eax
  82.         pop    ds
  83.         MOV    AX,4C00H
  84.         INT    21H
  85. testmain:
  86.     xor    bx,bx
  87.  
  88.         db    0f1h        ;!!!
  89.  
  90.         cmp    bx,1234h
  91.         jnz    L2
  92.         mov    dx,offset OK
  93.         jmp    L1
  94. L2:    mov    dx,offset BADD
  95. L1:    mov    ah,9
  96.     int    21h
  97.         ret
  98.  
  99. newint:
  100.     mov    bx,1234h
  101.         iret
  102. saveint    dd    0
  103. OK:    db    'Test OK $'
  104. BADD:    db    'Test Badd $'
  105. end    begin
  106.  
  107.     -------------------------------------------
  108.     TR mem.exe    ;load mem.exe in tr 
  109.         goint 21 ah=3d    ;this is a one-time break-point 
  110.                 ;means break if open file.
  111.         goint 21 ah=3d    ;another time
  112.         goint 21 ah=3d    ;third time
  113.         d dx        ;see what file it open, you can find
  114.                 ;it open itself this time
  115.         pret        ;go until return
  116.         t        ;one step, <F8> is also OK
  117.         p        ;one procedure step,<F10> is also OK
  118.  
  119. and then we can find follow code:
  120.  
  121.     OR        AX,AX                    ;696E:01DB  09C0            
  122.     JE        01E2                     ;696E:01DD  7403            
  123.     CALL      0000                     ;696E:01DF  E81EFE          
  124.  
  125. It's easy to find these codes are for check if been cracked, and 'Call 0'
  126. is error process. Patch it:
  127.  
  128.     a            ;assemble, still in TR
  129.         jmp 2d0        ;e9f200
  130.  
  131. and then you can GO it.
  132.  
  133. If you want to patch the MEM.exe permanently, you must find a HEX editor
  134. and edit MEM.EXE in HEX mode:
  135.  
  136. search:        09 c0 74 03 e8
  137. change to:     e9 f2 00
  138.  
  139. All done! Track,Unpack and Crack, all done!
  140.