Prueba 3 - Reto Panda (Solución)

Iniciado por romansoft, 28 Abril 2009, 21:32 PM

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

romansoft

Hola chicos,

Hace como una semana publiqué en mi web la solución a la tercera y última prueba del reto. Como veo que no os habéis hecho eco de la noticia, aquí os dejo el enlace, por si quereis echarle un vistazo:
http://www.rs-labs.com/papers/

PD: Para que no os vuelva a pasar os recomiendo suscribiros a mi RSS ;-)
PD 2: A ver si publicais el solucionario de la 2 (o me enviais por mail una preview :-P).

Saludos,
-Román

Amerikano|Cls

Genial Romansoft, la leere con tiempo  ;D, Felicitaciones!!




Mi blog:
http://amerikanocls.blogspot.com

Shaddy

Cita de: romansoft en 28 Abril 2009, 21:32 PM
Hola chicos,

Hace como una semana publiqué en mi web la solución a la tercera y última prueba del reto. Como veo que no os habéis hecho eco de la noticia, aquí os dejo el enlace, por si quereis echarle un vistazo:
http://www.rs-labs.com/papers/

PD: Para que no os vuelva a pasar os recomiendo suscribiros a mi RSS ;-)
PD 2: A ver si publicais el solucionario de la 2 (o me enviais por mail una preview :-P).

Saludos,
-Román

Gracias romansoft, lo cierto es que con todo lo que me ha llevado el Reto2, el 3 lo dejé más aparcado, y me quedé obviamente en una parte de la desencriptación de la frase... tenía pensado retomarlo pero no hay tiempo a todo.

En cuanto a tu solución, creo que impecable, chapó. Buen manejo de IDA, y buena resolución global del reto. Felicidades y gracias nuevamente!

Shaddy.
"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com

Shaddy

Por cierto, la solución la estamos escribiendo xD, que hay que explicar un montón de cosas... dije uno o dos días pero buff, hay bastante, yo le doy un par de días o tres y la publicamos :).

Shaddy,
"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com

romansoft

En el 2 yo llegué a encontrar las funciones esas que te devolvían las cadenas desencriptadas, y también creo que identifiqué la parte del código por donde debía andar el meollo de la cuestión (que en el IDA/Olly, por cierto, se me mostraba mal porque el código lo decodificaba a partir de un offset incorrecto).

Para llegar hasta allí me bajé la misma versión del lazarus (runtime, etc) y me creé unas FLIRT para el IDA, así te identificaba gran parte de las funciones del código y podías acotar en gran medida el código a revisar.

Por ahí me quedé, no me dio tiempo a más.

-r

Shaddy

Cita de: romansoft en 29 Abril 2009, 01:26 AM
En el 2 yo llegué a encontrar las funciones esas que te devolvían las cadenas desencriptadas, y también creo que identifiqué la parte del código por donde debía andar el meollo de la cuestión (que en el IDA/Olly, por cierto, se me mostraba mal porque el código lo decodificaba a partir de un offset incorrecto).

Para llegar hasta allí me bajé la misma versión del lazarus (runtime, etc) y me creé unas FLIRT para el IDA, así te identificaba gran parte de las funciones del código y podías acotar en gran medida el código a revisar.

Por ahí me quedé, no me dio tiempo a más.

-r

Si, la verdad es que lo del Lazarus fue una tocada de ..., nosotros con la RTTI como has dicho, y un script para IDA hicimos lo mismo, y bueno, de hecho GUAN actualizo su herramienta para analizar el formulario, y se ve perfectamente, lo verás en el tutorial, los 3 eventos, OnCreate, OnClick y OnTimer, los dos componentes de cifrado, SHA-1 y BlowFish, y el juego sucio,  (el checkeo presencial de un fichero)...

Como todo, una vez hecho se ve más fácil... pero 1.90MB de código en 3 días y sin tener el tiempo para hacerlo pues como que me parece poco tiempo.. y más cuando me enfoqué en exclusivamente el serial sin imaginar que pondrían un checkeo presencial de un fichero con el cual cada vez que pasaba por la rutina AntiDebug petaba porque no se habían rellenado las 3 APIs.. (FindWindowA, IsDebuggerPresent y CheckRemoteDebugger)...

En unos días postearé la solución.

Shaddy.
"Si buscas resultados diferentes, no hagas siempre lo mismo" (Albert Einstein)

http://abssha.reversingcode.com
http://www.reversingcode.com

[Everth]

"Nunca dejarás de sorprenderte de la cantidad de gente buena que te llegas a encontrar... simplemente nunca te des por vencido, porque aunque no logres hacerlo en el momento, lo lograrás y siempre se puede, para eso no hay límites..."-ShaDDy


Saludos




¡Santa Muerte guia mi camino!

karmany

Excelente trabajo romansoft y no sólo de este reto, sino los varios tutoriales que he visto tutos.
Felicidades.