Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Arkangel_0x7C5

#191
con este post se han ensañado, ya va por las 12.000 visitas

cuando llege a las 100.000 marcaras recort si no lo has vatido ya XD
#192
Ingeniería Inversa / Re: Como hacer que..
8 Abril 2009, 22:09 PM
Tanbien puede cerrarse sin ExitProcess. puede usar terminateThread o ExitThread o un simple ret.

Saludos
#193
jeje para romperlo no hace falta calentarse la cabeza, pero claro. Así no parece tan roto y de paso aprendes como funcionan
#194
Cita de: E0N en  7 Abril 2009, 15:20 PM
Felicidades por la herramienta WHK, a la gente desde luego le ha gustado mucho, ya han visto este tema 4100 personas xDD
yo pienso que lo que a pasado es, que se han picado a usar la herramienta con este post XD

saludos
#195
el peso de los parámetros se podría sacar mirando los mov X ,[ebp + X], pero el tipo de valor debuelto no, porque en asm esencialmente solo hay unos pocos tipos, según el tamaño y punteros.

saludos
#196
Ingeniería Inversa / Re: desenpaketar driver
4 Abril 2009, 15:41 PM
bueno, ya lo desenpaquete gracias a las herramientas que tenis en el post de arriba

perdonen las molestias
#197
Ingeniería Inversa / desenpaketar driver
4 Abril 2009, 15:14 PM
estoy  intentando hacer una aplicación que neutralice el deep freze. y para ello había pensado en husmear un poco al undeep freze la cosa en que viene empaquetado con el aspack y como tiene un driver dentro los unpaker me dicen que no o se quedan pillados.

Saludos
#198
ASM / Re: [SRC]GetAddressFunction
4 Abril 2009, 02:30 AM
mi code es este, es masm pero tanpoco cambia tanto.

Código (asm) [Seleccionar]

Getproadress proc PBaseDll:dword, PNombreFun:dword
LOCAL NumFun
push edx
push ecx
push esi
push edi


mov edx,[PBaseDll] ;Encontrar funcion pedida en la dll especificada
cmp word ptr[edx],'ZM'
je MZ
cmp word ptr[edx],'MZ'
je MZ
NoPE:
xor eax,eax
jmp NoEncontre
MZ:
xor ecx,ecx
add edx,[edx+3ch]
cmp word ptr[edx],'EP'
jne NoPE                           ;Cabecera PE
mov edx,[edx+78h]

;Tabla de Exportaciones
mov edi,[18h+edx]
mov [NumFun],edi
add edx,[PBaseDll]     
mov edi,[edx+20h]                  ;AddressOfNames
add edi,[PBaseDll]
jmp busca
NoEs:
cmp ecx,[NumFun]
je NoEncontre
inc ecx
add edi,4
busca:
mov esi,[edi]
add esi,[PBaseDll]
push esi
push [PNombreFun]
call cmpsrt
cmp eax,0
jne NoEs
;                                AddressOfNameOrdinals
mov edi,[edx+24h]
add edi,[PBaseDll]
rol ecx,1h
add edi,ecx
movzx ecx,word ptr [edi]

;                                AddressOfFunctions
rol ecx,2h
mov esi,dword ptr [edx+1ch]
add ecx,[PBaseDll]
add ecx, esi
mov eax,[ecx]
add eax,[PBaseDll]
jmp bien
NoEncontre:
xor eax,eax
bien:
pop edi
pop esi
pop ecx
pop edx

ret 8

Getproadress endp



#199
ASM / Re: [SRC]GetAddressFunction
4 Abril 2009, 01:08 AM
Cita de: YST en  4 Abril 2009, 00:28 AM
Cita de: Arcangel_0x7C5 en  4 Abril 2009, 00:12 AM
A y no entiendo el porque de tanto "push" y "pop"
No es mas facil hacer mov a un registro

La razón principal es que quise que se explicara un poco el code mediante las variables  y no se puede hacer un "mov  [AddressOfNames].dword[ebx+20h] " esa es la razón , aunque facilmente se pueden eliminar todas las variables.
y no se puede hacer mov de mem a mem pero creo que era mas rapido de mem a reg que hacer push mem y ala inbersa. ya te digo que yo no mido la velocidad, pero como de todas maneras tienes que pasarlo a un registro para usarlo
tengo ese code con una sola variable.

Y para explicar el code puedes poner comentarios diciendo lo que haces y a donde apunta.

En esa comunidad no somos muchos los que siempre escribimos, por eso suele haber buen nivel en lo que se postea

Saludos
#200
ASM / Re: [SRC]GetAddressFunction
4 Abril 2009, 00:12 AM
Cita de: YST en  3 Abril 2009, 04:22 AM


Una forma de obtener el handle de la kernel32 ( fuente: hackhound.org ):

Código (ASM) [Seleccionar]
             
    mov   eax, [fs:30h]
    mov   eax, [eax + 0ch]
    mov   esi, [eax + 1ch]
    lodsd
    mov  eax, [eax + 08h]


una cosa, Que es lo que hay en [fs:30h]?

Yo para sacar la base de kernel32 usaba la direccion de retorno que deja CreateProcess al pasar el control a tu programa con "call". Luego era solo cuestion de buscar "MZ" pero invertida. y ya la tienes.

A y no entiendo el porque de tanto "push" y "pop"
No es mas facil hacer mov a un registro

Saludos.

PD:Si te interesa el virin te invito a que hagas clic en el enlace de mi firma