home *** CD-ROM | disk | FTP | other *** search
/ The Elite Hackers Toolkit / TheEliteHackersToolkitVolume1_1998.rar / HACKERS.BIN / appcraks / UN_ALC.ZIP / UN-ALC.ASM < prev    next >
Assembly Source File  |  1998-02-01  |  5KB  |  133 lines

  1. ; Un-ALC v0.1 (c) MERLiN // Delirium Tremens 1998
  2. .386p
  3. cseg            segment         use16
  4.                 assume          cs:cseg,ds:cseg,es:cseg
  5.                 org             100h
  6. begin           proc
  7.                 mov             ah,9
  8.                 lea             dx,id
  9.                 int             21h
  10.                 mov             si,81h
  11.                 lodsb
  12.                 cmp             al,13
  13.                 jz              bad_usage
  14. _keep_scan:
  15.                 lodsb
  16.                 cmp             al,32
  17.                 jz              _keep_scan
  18.                 dec             si
  19.                 mov             di,si
  20.                 push            di di
  21.                 mov             al,13
  22.                 repne           scasb
  23.                 dec             di
  24.                 mov             ax,2400h
  25.                 stosw
  26.  
  27.                 pop             dx
  28.                 mov             ax,3d02h
  29.                 int             21h
  30.                 jnc             c1
  31.                 lea             dx,not_found
  32. view_n_exit:
  33.                 mov             ah,9
  34.                 int             21h
  35.                 mov             ah,4ch
  36.                 int             21h
  37. c1:
  38.                 xchg            bx,ax
  39.                 lea             dx,process
  40.                 mov             ah,9
  41.                 int             21h
  42.                 pop             dx
  43.                 int             21h
  44.                 mov             ax,cs
  45.                 add             ax,1000h
  46.                 mov             ds,ax
  47.                 xor             dx,dx
  48.                 mov             ah,3fh
  49.                 mov             cx,65535
  50.                 int             21h
  51.                 mov             si,66h
  52.                 mov             di,0c3h
  53.                 call            chk
  54.                 jnc             ok
  55.                 dec             di
  56.                 mov             si,65h
  57.                 call            chk
  58.                 jc              not_psa2
  59.  
  60. ok:
  61.                 push            ds
  62.                 pop             es
  63.                 mov             si,di
  64.                 push            si
  65.                 db              0b9h
  66. sz              dw              ?
  67. _1:
  68.                 lodsb
  69.                 db              0c0h,0c8h,3
  70. ;cf1             db              ?
  71.                 db              34h,0dfh
  72. ;cf2             db              ?
  73.                 xor             al,cl
  74.                 stosb
  75.                 loop            _1
  76.                 mov             ah,3eh
  77.                 int             21h
  78.  
  79.                 push            ds
  80.                 push            cs
  81.                 pop             ds
  82.                 lea             dx,_out
  83.                 xor             cx,cx
  84.                 mov             ah,3ch
  85.                 int             21h
  86.                 xchg            bx,ax
  87.                 mov             ah,40h
  88.                 pop             ds
  89.                 pop             dx
  90.                 mov             cx,cs:sz
  91.                 int             21h
  92.                 mov             ah,3eh
  93.                 int             21h
  94.                 mov             ah,4ch
  95.                 int             21h
  96. bad_usage:
  97.                 lea             dx,usage
  98.                 jmp             view_n_exit
  99. chk:
  100.                 lodsb
  101.                 cmp             al,0beh
  102.                 jne             not_psa
  103.                 lodsw
  104.                 lodsw
  105.                 cmp             ax,0fe8bh
  106.                 jne             not_psa
  107.                 lodsb
  108.                 lodsw
  109.                 mov             cs:sz,ax
  110.                 clc
  111.                 retn
  112. not_psa:
  113.                 stc
  114.                 retn
  115. not_psa2:
  116.                 push            cs
  117.                 pop             ds
  118.                 mov             ah,3eh
  119.                 int             21h
  120.                 lea             dx,_not_psa
  121.                 jmp             view_n_exit
  122. _out            db              'UNCRYPTD.COM'
  123.                 db              0
  124. id              db              'UN-ALC v0.1, Unpacks files crypted with [Anti-Lame Cryptor by PSA]',13,10
  125.                 db              'Copyright (c) 1998 by MERLiN // Delirium Tremens',13,10,'$'
  126. usage           db              13,10,'Usage: UN-ALC crypted_file',13,10,'$'
  127. not_found       db              'File not found$'
  128. _not_psa        db              13,10,'Specified file doesn''t seem to be crypted with Anti-Lame Cryptor$'
  129. process         db              'Processing file: $'
  130. done            db              '... Done$'
  131. begin           endp
  132. cseg            ends
  133.                 end             begin