Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Redesoft en 15 Enero 2014, 17:15 pm



Título: Identificar el Protector-Packer
Publicado por: Redesoft en 15 Enero 2014, 17:15 pm
Hola a todos.

Estoy investigando como meterle mano a un programita, llevo mucho tiempo detrás de él y no hay manera. Tengo una versión nueva y voy a empezar de cero. El caso es que le paso el rdg packer detector y me dice que no hay nada... bien empezamos..¿me podéis decir cómo identificar el packer sin analizadores en general? algo con olly.

En el memory map de olly me sale en owner nombres tipo imm32 o usp10 o crypbas.

¿ideas?

Muchas Gracias


Título: Re: Identificar el Protector-Packer
Publicado por: .:UND3R:. en 15 Enero 2014, 17:46 pm
Hola, podrías comenzar por aquí:

http://foro.elhacker.net/ingenieria_inversa/faq_iquesteres_nuevo_aprende_ingenieria_inversa_desde_cero-t345798.0.html

Saludos


Título: Re: Identificar el Protector-Packer
Publicado por: Redesoft en 15 Enero 2014, 18:08 pm
Hola, podrías comenzar por aquí:

http://foro.elhacker.net/ingenieria_inversa/faq_iquesteres_nuevo_aprende_ingenieria_inversa_desde_cero-t345798.0.html

Saludos

Gracias, no obstante lo que solicito, a ser posible, es algo mas concreto, no digo que sean instrucciones concretas, pero algo como un tutorial de un crackme o instrucciones mas específicas aunque sea para otro software.

Si pregunto aquí es porque no he encontrado nada buscando. He mirado  varios analizadores de packers y formas de hacerlo con ida pero nada de nada. Tampoco pido que me digan como se hace el unpack, simplemente saber cual es para poder empezar.

Gracias


Título: Re: Identificar el Protector-Packer
Publicado por: The Swash en 15 Enero 2014, 18:23 pm
Hola,

Hay varias alternativas como PEiD, pero una que me gusta mucho es ExeInfo PE:
http://www.exeinfo.xwp.pl

Para reconocer un packer a mano como quieres habría que tener la experiencia y analizarlo internamente, sin experiencia dudo que haya algo que te permita reconocerlo.

Saludos.


Título: Re: Identificar el Protector-Packer
Publicado por: Redesoft en 15 Enero 2014, 19:03 pm
Hola,

Hay varias alternativas como PEiD, pero una que me gusta mucho es ExeInfo PE:
http://www.exeinfo.xwp.pl

Para reconocer un packer a mano como quieres habría que tener la experiencia y analizarlo internamente, sin experiencia dudo que haya algo que te permita reconocerlo.

Saludos.


Hola. Muchas gracias. Ya imaginaba que detectarlo "a mano" sería complejo.

(http://redesoft.dyndns.org/foto.jpg)

Esto es lo que me sacan como resultado los dos programas comentados. XD no hay manera. He borrado el nombre de la sección EP por no incumplir las normas del foro.

En fin, será algún packer nuevo o algo.


Título: Re: Identificar el Protector-Packer
Publicado por: x64core en 15 Enero 2014, 19:19 pm
@.:UND3R:. Evita postear tales respuestas que no ayudan absolutamente en nada en el tema, ya son 3 respuestas iguales en 1 dia.
El usuario desde un principio uso un detector de empaquetador.

Respecto al tema, no hay manera absoluta de detectar todos los packers, lo que se podria hacer es realizar un algoritmo en busca de patrones especificos usados por el empaquetador, esos podrian ser por ejemplo estructura de la imagen, directorios disponibles, nombres de las secciones y bien hacer un scaneo en busca de patrones/bytes especificos en la imagen que son usados en todos los archivos empaquetados por tal empaquetador. También se podria usar un analizador de opcodes junto con un emulador.


Título: Re: Identificar el Protector-Packer
Publicado por: Redesoft en 16 Enero 2014, 09:36 am
@.:UND3R:. Evita postear tales respuestas que no ayudan absolutamente en nada en el tema, ya son 3 respuestas iguales en 1 dia.
El usuario desde un principio uso un detector de empaquetador.

Respecto al tema, no hay manera absoluta de detectar todos los packers, lo que se podria hacer es realizar un algoritmo en busca de patrones especificos usados por el empaquetador, esos podrian ser por ejemplo estructura de la imagen, directorios disponibles, nombres de las secciones y bien hacer un scaneo en busca de patrones/bytes especificos en la imagen que son usados en todos los archivos empaquetados por tal empaquetador. También se podria usar un analizador de opcodes junto con un emulador.


Imagino que así es como funcionan los analizadores que hay por la red. Si es un packer nuevo supongo que hasta que no los incluyan en la base de datos correspondiente no habrá forma de saberlo. La versión anterior del programa usaba un tal svkp, me quedé en la reconstrucción de la iat.

En fin, si alguien por curiosidad quiere echarle un vistazo que me lo diga y se lo paso, no es necesario que luego me diga a mi que packer lleva o que lo publique, no pretendo que me hagan las cosas.


Título: Re: Identificar el Protector-Packer
Publicado por: apuromafo CLS en 17 Enero 2014, 00:49 am
abrelo en ollydgb, pega los primeros codigos (entrypoint)

aun sin mirar nada, debería ser un vc++ o algun .net 

de igual forma checkea con esto
http://pid.gamecopyworld.com/

por otro lado dentro de el exeinfo, hay una parte que refiere aún mas informacion bassandose en otro criterio (donde escribe la palabra PE header), suele ser bueno para guiarse

la primera idea de deteccion que recuerdo viene de tiempos que existen signaturas, pero honestamente, todo es relativo a la arquitectura, puedo clonar algunos bytes del entrypoint y luego restaurar los valores (fake sign)

por ende, muchas veces no va en el tema de en que esta hecho, sino como funciona y que puedes encontrar de especial en eso.

saludos
pd:tambien existen depuradores que ayudarian aun mas, como IDA, pero normalmente es de pago, las "flirt" podria detectar bastantes firmas o librerias que aveces estan relacionadas a que no detecte aquello


saludos Apuromafo


Título: Re: Identificar el Protector-Packer
Publicado por: Redesoft en 17 Enero 2014, 12:56 pm
Hola de nuevo.

apuromafo:

Cuando dices que ponga las primeras lineas del entrypoint imagino que te refieres al entrypoint "falso" el de antes de desempaquetado, así que ahí van:


018FC000 >  83C2 04         ADD EDX,4
018FC003    FFF4            PUSH ESP
018FC005    8D6424 FC       LEA ESP,DWORD PTR SS:[ESP-4]
018FC009    890C24          MOV DWORD PTR SS:[ESP],ECX
018FC00C    29C3            SUB EBX,EAX
018FC00E    FFF2            PUSH EDX
018FC010    832C24 04       SUB DWORD PTR SS:[ESP],4
018FC014    83EA 04         SUB EDX,4
018FC017    01F5            ADD EBP,ESI
018FC019    FFF3            PUSH EBX
018FC01B    010424          ADD DWORD PTR SS:[ESP],EAX
018FC01E    01C3            ADD EBX,EAX
018FC020    83C0 4D         ADD EAX,4D
018FC023    FFF0            PUSH EAX
018FC025    832C24 4D       SUB DWORD PTR SS:[ESP],4D
018FC029    83E8 4D         SUB EAX,4D
018FC02C    83C7 77         ADD EDI,77
018FC02F    FFF5            PUSH EBP
018FC031    293424          SUB DWORD PTR SS:[ESP],ESI
018FC034    29F5            SUB EBP,ESI
018FC036    8D6424 FC       LEA ESP,DWORD PTR SS:[ESP-4]
018FC03A    893424          MOV DWORD PTR SS:[ESP],ESI
018FC03D    FFF7            PUSH EDI
018FC03F    83EF 77         SUB EDI,77
018FC042    832C24 77       SUB DWORD PTR SS:[ESP],77
018FC046    314424 1C       XOR DWORD PTR SS:[ESP+1C],EAX
018FC04A    334424 1C       XOR EAX,DWORD PTR SS:[ESP+1C]
018FC04E    314424 1C       XOR DWORD PTR SS:[ESP+1C],EAX
018FC052    314424 0C       XOR DWORD PTR SS:[ESP+C],EAX
018FC056    334424 0C       XOR EAX,DWORD PTR SS:[ESP+C]
018FC05A    314424 0C       XOR DWORD PTR SS:[ESP+C],EAX
018FC05E    E8 12000000     CALL Lololo.018FC075
018FC063    C3              RETN
018FC064    DB2D 00000000   FLD TBYTE PTR DS:[0]
018FC06A    C3              RETN
018FC06B    FFFF            ???                                      ; Unknown command
018FC06D    FFFF            ???                                      ; Unknown command
018FC06F    FFFF            ???                                      ; Unknown command
018FC071    FFFF            ???                                      ; Unknown command
018FC073    3D 408B2C24     CMP EAX,242C8B40
018FC078    8D6424 04       LEA ESP,DWORD PTR SS:[ESP+4]
018FC07C    E8 00000000     CALL Lololo.018FC081
018FC081    8B2C24          MOV EBP,DWORD PTR SS:[ESP]
018FC084    81ED 81000000   SUB EBP,81
018FC08A    8D6424 04       LEA ESP,DWORD PTR SS:[ESP+4]
018FC08E    EB 05           JMP SHORT Lololo.018FC095
018FC090    B8 D7E2F766     MOV EAX,66F7E2D7
018FC095    64:A0 23000000  MOV AL,BYTE PTR FS:[23]
018FC09B    84C0            TEST AL,AL
018FC09D    0F85 A4000000   JNZ Lololo.018FC147


El programa que me has comentado (Protectionid) tampoco dice nada y sobre los datos de la cabecera pe aquí pongo una imagen (que vale mas que mil palabras XD)

(http://redesoft.dyndns.org/proteccion2.jpg)

Muchas gracias y un saludo


Título: Re: Identificar el Protector-Packer
Publicado por: Mad Antrax en 17 Enero 2014, 13:58 pm
Puedes postear una copia del ejecutable para que la pueda analizar?


Título: Re: Identificar el Protector-Packer
Publicado por: Tomy73 en 18 Enero 2014, 00:15 am
Me uno a la petición de MadAntrax. ;)
Quizás mas de uno te podamos ayudar.

Un saludo.


Título: Re: Identificar el Protector-Packer
Publicado por: apuromafo CLS en 18 Enero 2014, 03:07 am
por la pura experiencia, tiene apariencia de ser themida o winlicence o de la compañia de http://www.oreans.com/ 

por otro lado,no es un packer facil, pero si existen en la actualidad plugins para ollydbg para lograr ejecutarlo sin lios, además de otras cosas como script de autores connocidos, o bien tutoriales que hablen al respecto


siguiendo con lo que te comentaba de exeinfope. pulsa donde dice "clickme" en offset to PE, ahi confirmaras que posible lenguaje puede ser...

Bueno, animo en el unpack, puedes ejecutar el programa por completo, hacer un dump, y hacer un scan con rdg, posiblemente encontraras otros detalles mejores para encontrar, luego hacer algun inline (con programas adicionales) que requieren mas experiencia, ejemplo  hay un patcher llamado DUP (diablo ultimate patcher), que puedes modificar algun byte en linea..

bueno, por algo se comienza, un saludo


Título: Re: Identificar el Protector-Packer
Publicado por: Redesoft en 20 Enero 2014, 22:37 pm
Ya suponía que no sería un packer fácil.

A ver si mañana tengo un rato y subo alguno de los ejecutables, el que menos ocupe. Aunque se salga de mis posibilidades para poder unpackearlo a ver si por lo menos alguno de vosotros me quita la curiosidad de saber cual es.

No obstante haré también lo que dice apuromafo a ver que sale y ya os cuento.

Gracias a todos.


Título: Re: Identificar el Protector-Packer
Publicado por: Tomy73 en 21 Enero 2014, 07:24 am
Sube el ejecutable comprimido y miramos cual es.
Si se trata de Themida no es fácil como bien dicen pero existen tutoriales y scripts para Olly que podrían ser de mucha ayuda.
Animo y suerte.

Un saludo.


Título: Re: Identificar el Protector-Packer
Publicado por: Redesoft en 21 Enero 2014, 12:21 pm
Aquí lo dejo.

No creo que se pueda ejecutar porque supongo que le faltarán dll pero por lo menos podéis ver como va el tema. EL instalador ocupa demasiado espacio y adicionalmente creo que no sería muy legal... (creo que pasar el ejecutable no es ilegal porque no se va a usar como tal). No obstante si los moderadores lo consideran elimino inmediatamente el link.


edito: Soy más tonto que una nuez, se me olvidaba, el rar tiene pass: foroelhacker
Gracias

http://bitshare.com/?f=00d6b01z (http://bitshare.com/?f=00d6b01z)


Título: Re: Identificar el Protector-Packer
Publicado por: Redesoft en 26 Enero 2014, 16:23 pm
Ya han pasado unos días ¿alguien ha visto algo? en fin, lo mismo es algo bastante nuevo y difícil de detectar, tampoco pasa nada, era simple curiosidad.

Un saludo a todos ;)


Título: Re: Identificar el Protector-Packer
Publicado por: RDGMax en 27 Enero 2014, 01:34 am
Tiene toda la pinta de ser un SVKP Protector  :D