elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas  (Leído 8,730 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« en: 9 Agosto 2010, 13:54 pm »

 >:D >:D

Despues de debuggear durante horas el MSVBVM60.DLL descubrí una función que permitía llamar a un puntero (sin destrozar mucho el stack :D) esta se llama Zombie_AddRef y VB6 la utiliza para cargar clases e interfaces :)

Si alguien quiere mas explicación sobre lo que hace esa función y como lo he aprovechado para llamar codigo que pregunte ;)

Despues de esta breve explicacion aqui teneis el code:
Código:
http://www.cobein.com/wp/?p=567


Saludos ::)


« Última modificación: 16 Septiembre 2011, 00:17 am por Karcrack » En línea

Komodo


Desconectado Desconectado

Mensajes: 352



Ver Perfil
Re: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« Respuesta #1 en: 9 Agosto 2010, 14:08 pm »

Esta interesante pero este S1 ¿?¿?

Invoke = Zombie_AddRef(S1)

lo demás si que lo he entendido por encima.


En línea


Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« Respuesta #2 en: 9 Agosto 2010, 14:09 pm »

Esta interesante pero este S1 ¿?¿?

Invoke = Zombie_AddRef(S1)

lo demás si que lo he entendido por encima.
S1 es la estructura Zombie_STRUCT1

Nota:Todas las estructuras que hay en el codigo las he creado yo
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« Respuesta #3 en: 9 Agosto 2010, 14:15 pm »

Si entiendes algo de ASM esto te lo aclarara todo respecto a las estructuras:

Zombie_AddRef@MSVBVM60:
Código
  1. MOV     EAX, DWORD PTR SS:[ESP+4]                      ;  EAX = &Zombie_STRUCT1.cCurrent
  2. MOV     EAX, DWORD PTR DS:[EAX+8]                      ;  EAX = Zombie_STRUCT1.ppS2
  3. PUSH    EAX
  4. MOV     ECX, DWORD PTR DS:[EAX]                        ;  ECX = &Zombie_STRUCT2.lNull
  5. CALL    NEAR DWORD PTR DS:[ECX+4]                      ;  ECX + 4 = Zombie_STRUCT2.lAddr
  6. RET     4

Saludos :)
« Última modificación: 9 Agosto 2010, 14:19 pm por Karcrack » En línea

Komodo


Desconectado Desconectado

Mensajes: 352



Ver Perfil
Re: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« Respuesta #4 en: 9 Agosto 2010, 14:17 pm »

Vale, creo que no habia visto eso.

Esta bastante interesante la idea, saludos Karcrack
En línea


LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« Respuesta #5 en: 9 Agosto 2010, 18:20 pm »

Grosisimo Karcrack  ;-) , me gustan tus funciones.

Saludos.
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« Respuesta #6 en: 9 Agosto 2010, 22:04 pm »

Grosisimo Karcrack  ;-) , me gustan tus funciones.

Saludos.
Muchas gracias Leandro :)
En línea

EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« Respuesta #7 en: 10 Agosto 2010, 03:27 am »

Wenas,

Muy bueno Karcrack,
Tengo una duda, tu que lo debugeaste no supiste para que sirve la función Zombie_Invoke?, no entiendo mucho de ASM (Aún aprendo) y estuve usando PEExplorer para extraer las funciones pero no me muestra los parámetros así que no le pude entender :P

Si llego a usarlo en algún proyecto seguro te pongo en los créditos ;)

SaluDOS!!!
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« Respuesta #8 en: 10 Agosto 2010, 11:21 am »

Simplemente estuve mirando que hacian las funciones exportadas, para ver si alguna permitia ejecutar algun puntero o algo similar... primero encontre __vbaGosubReturn, pero destrozaba gran parte del stack... asi que decidi seguir buscando... y Zombie_AddRef como podras ver en el codigo de ASM hace una llamada a partir de un parametro... luego cree las estructuras para que las distancias encajasen y leyese la direccion sin problemas...
En línea

EddyW

Desconectado Desconectado

Mensajes: 187



Ver Perfil WWW
Re: [VB6-SRC] mZombieInvoke - Llama APIs sin declararlas
« Respuesta #9 en: 10 Agosto 2010, 16:02 pm »

Ok, gracias nuevamente está bastante bueno ;)

SaluDOS!!!
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Introduccion a APIs y como evitar el uso de MSWINSCK.OCX con APIs
Programación Visual Basic
Achernar 5 5,015 Último mensaje 5 Julio 2007, 23:43 pm
por Achernar
Ayuda[Loadlibrary] Cargar apis sin declararlas.
Programación Visual Basic
The Swash 3 5,299 Último mensaje 1 Febrero 2010, 17:31 pm
por Karcrack
[ASM+VB6][INVOKE] Llamas APIs sin declararlas - kInvoke.bas « 1 2 3 »
Programación Visual Basic
Karcrack 26 21,383 Último mensaje 2 Noviembre 2011, 20:03 pm
por Karcrack
Llamar a api sin declararlas
Programación Visual Basic
fary 7 3,095 Último mensaje 5 Agosto 2010, 19:49 pm
por fary
[VB6] ¿Cómo uso mZombieInvoke? « 1 2 »
Programación Visual Basic
STARZ 15 6,609 Último mensaje 25 Enero 2012, 01:25 am
por BlackZeroX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines