Identificar el Protector-Packer

Iniciado por Redesoft, 15 Enero 2014, 17:15 PM

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

Redesoft

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

.:UND3R:.


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

Redesoft

Cita de: .: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

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

The Swash

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.

Redesoft

Cita de: 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.


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



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.

x64core

@.: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.

Redesoft

Cita de: 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.


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.

apuromafo CLS

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

Redesoft

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)



Muchas gracias y un saludo

Mad Antrax

Puedes postear una copia del ejecutable para que la pueda analizar?
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.