home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / live_viruses / virus_collections / dsce-gen.asm < prev    next >
Assembly Source File  |  1994-04-20  |  3KB  |  97 lines

  1.  
  2. ; Dark Slayer Confusion Engine v1.0 <04-19-94>
  3. ;     Written by Dark Slayer in Keelung, Taiwan <R.O.C>
  4.  
  5. DSCE_GEN SEGMENT
  6.          ASSUME  CS:DSCE_GEN,DS:DSCE_GEN
  7.          ORG     0100h
  8.  
  9. MSG_ADDR EQU     OFFSET MSG-OFFSET PROC_START-0007h
  10.  
  11.          EXTRN   DSCE:NEAR,DSCE_END:NEAR
  12.          EXTRN   RND:NEAR
  13.  
  14.                       ; ÑHñU╡{ªííA░úñF¡n¬`╖N¬║ªañΦª│¬`╕╤íA¿ΣѪ│íÑ≈ª█ñv¼π¿s
  15.  
  16. START:
  17.          MOV     AH,09h
  18.          MOV     DX,OFFSET DG_MSG
  19.          INT     21h
  20.  
  21.          MOV     AX,OFFSET DSCE_END+000Fh ; Ñ╗╡{ªí + DSCE+000Fh ñº½ß¬║ª∞º}
  22.                                    ; ¡Y┤ε 0100h ½hª¿¼░Ñ╗╡{ªí + DSCE ¬║¬°½╫
  23.  
  24.          MOV     CL,04h
  25.          SHR     AX,CL
  26.          MOV     BX,CS
  27.          ADD     BX,AX
  28.  
  29.          MOV     ES,BX                   ; │] ES Ñ╬¿╙⌐±╕╤╜X╡{ªí⌐M│Q╜s╜X╕Ω«╞
  30.                                                 ; ╕╤╜X╡{ªí│╠ñj¼░ 1024 Bytes
  31.                                 ; ¡YÑ╬ªb▒`╛n╡{ªí«╔íA½h╢╖¬`╖Nñ└░t¬║░O╛╨┼Θñjñp
  32.  
  33.          MOV     CX,50
  34. DG_L0:
  35.          PUSH    CX
  36.          MOV     AH,3Ch
  37.          XOR     CX,CX
  38.          MOV     DX,OFFSET FILE_NAME
  39.          INT     21h
  40.          XCHG    BX,AX
  41.  
  42.          MOV     BP,0100h                                ; ╕╤╜X╡{ªí░╛▓╛ª∞º}
  43.                                        ; Ñ╬¿╙╝g¼r«╔½h¿╠▒²╖P¼V└╔«╫ñºñjñpª╙│]
  44.  
  45.          MOV     CX,OFFSET PROC_END-OFFSET PROC_START    ; │Q╜s╜X╡{ªí¬║¬°½╫
  46.  
  47.          MOV     DX,OFFSET PROC_START         ; DS:DX -> ¡n│Q╜s╜X¬║╡{ªíª∞º}
  48.  
  49.          PUSH    BX                                      ; ½Oªs File handle
  50.  
  51.          CALL    RND
  52.          XCHG    BX,AX
  53.          CALL    DSCE
  54.  
  55.          POP     BX
  56.  
  57.          MOV     AH,40h        ; ¬≡ª^«╔ DS:DX = ╕╤╜X╡{ªí + │Q╜s╜X╡{ªí¬║ª∞º}
  58.          INT     21h     ; CX = ╕╤╜X╡{ªí + │Q╜s╜X╡{ªí¬║¬°½╫íA¿ΣѪ╝╚ªs╛╣ñú┼▄
  59.  
  60.          MOV     AH,3Eh
  61.          INT     21h
  62.  
  63.          PUSH    CS
  64.          POP     DS                                          ; ▒N DS │]ª^¿╙
  65.  
  66.          MOV     BX,OFFSET FILE_NUM
  67.          INC     BYTE PTR DS:[BX+0001h]
  68.          CMP     BYTE PTR DS:[BX+0001h],'9'
  69.          JBE     DG_L1
  70.          INC     BYTE PTR DS:[BX]
  71.          MOV     BYTE PTR DS:[BX+0001h],'0'
  72. DG_L1:
  73.          POP     CX
  74.          LOOP    DG_L0
  75.          MOV     AH,4Ch
  76.          INT     21h
  77.  
  78. FILE_NAME DB     '000000'
  79. FILE_NUM DB      '00.COM',00h
  80.  
  81. DG_MSG   DB      'Generates 50 DSCE encrypted test files.',0Dh,0Ah,'$'
  82.  
  83. PROC_START:
  84.          PUSH    CS
  85.          POP     DS
  86.          MOV     AH,09h
  87.          CALL    $+0003h
  88.          POP     DX
  89.          ADD     DX,MSG_ADDR
  90.          INT     21h
  91.          INT     20h
  92. MSG      DB      'Dark Slayer !!$'
  93. PROC_END:
  94.  
  95. DSCE_GEN ENDS
  96.          END     START
  97.