problema con firma win32.vbinject (ikarus/a squared)

Iniciado por krisium, 7 Noviembre 2010, 21:29 PM

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

krisium

hola,aver si alguien me puede echar una mano,estoy limpiando unos stubs y...bueno el a squared / ikarus me estan matando con la dichosa firma,



como veis en la imagen la firma detectada es la marcada,pero...he probado a taparla,sigue saliendo,he probado a tapar 10 offset anteriores...sigue saliendo,he probado hasta tapar todo lo que se ve en la imagen...y la jodida sigue saliendo...harta de darle vueltas y no encontrar manera de taparla he llegado a la conclusion de que tiene que estar en otra parte,pero la deteccion la hace hay...alguien me puede dar algun consejo antes de ponerme a tapar a mano hasta que deje de saltar?? :huh:

[Zero]

Míralo con un debuger como Olly, con el editor hexadecimal poco puedes ver, y si logras encontrar donde está la firma no vas a ser capaz de saber qué la provoca ni como arreglarla. Yo intentaría primero buscar el "¿por qué lo detecta?" y luego intentar arreglarla sustituyendo el código detectado por otro que haga lo mismo de una forma diferente.

Saludos

"El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche

krisium

si,imaginaba que esos eran los pasos a seguir,por desgracia no creo que sea capad de seguir el funcionamiento por el olly,podrias recomendarme algun tutorial??

Karcrack

#3
Esa firma parece estar simplemente en el nombre del proyecto que almacena VB... no tiene porque significar que con quitar eso se arregle, es un conjunto de ciertos parametros lo que hace que la heuristica salte...

Lo mejor que puedes hacer es eliminar la cadena "VB5!" del ejecutable ademas de variar el codigo que hay en el EntryPoint... para esto necesitaras algunos conocimientos de Ing. Inversa:
http://foro.elhacker.net/ingenieria_inversa-b26.0/

Todos los ejecutables de VB6/5 tienen un codigo como este en el EntryPoint:
Código (asm) [Seleccionar]
push ADDR
call MSVBVM60.#100

Donde ADDR es el puntero a la estructura que contiene toda la informacion del ejecutable... lo que has de hacer es modificar ese codigo para que quede algo que impida que el AV lea la informacion que hay en tu ejecutable... algo como esto (O cualquier otro codigo basura):
Código (asm) [Seleccionar]

pminsw xmm0,xmm1
push ADDR
call MSVBVM60.#100

(Este me gusta especialmente porque se salta la deteccion del NOD32 :-*)

Como ya te he dicho necesitaras aprender lo basico de Ing. Inversa, uso del OllyDbg y estaria bien que aprendieses algo de ASM, para entender las instrucciones que te he puesto mas arriba...

Un saludo ;)

krisium

ok entonces entiendo que es como la dropper,que tienen que darse algunas coincidencias para que salte,pense que era una firma fisica...gracias por la aclaracion ;)

codigo basura...nunca lo he agregado desde el olly,cuestion de empezar a mirarlo

lo del vb5¡ ya esta fuera,es un tip muy tipico,incluso probe quitar .dll y mover el EP,pero al moverlo cruje el stub,me dare una vuelta por ing. inversa,seguro que aprendo alguna joya,gracias por el link ;)