Random IRC quote :      <madalenasbuenas> te la chupareee como una karpaaaa <pancake> no he tenido el placer de conocer esta experiencia

El código ntoskvinci

Ya en otra ocasion se me habia revelado un secreto que hicieron tambalearse los aparentemente solidosw000 cimientos sobre los que se asientan mis convicciones, los cimientos que dotan de sentido mi existencia, esos axiomas inquebrantables e inmutables, tan evidentemente ciertos que no pueden ser puestos en tela de juicio. ¿O si pueden?… La revelacion a la que me refiero no es otra que la existencia de un clon de Mario en Microsoft. Y ahora, nuevos datos de gran importancia han llegado a mis manos. Como los
he conseguido o quien me los ha dado son cuestiones que carecen de importancia. Lo cierto es que obran en mi poder. Me veo obligado, en pro del bien comun, a hacer publica esta información.

(más…)

Come on baby, crack my file

tree.jpg
Teniendo cuenta la buena acogida que tuvo el «reverse me» anterior entre el público asistente, les dejo mi última creación. Para que todo el mundo pueda hacerlo sin caer en la tentación de ver la respuesta, pedimos que no se publiquen las soluciones en los comentarios del blog. Los que tengan la solución antes del próximo jueves 2 de agosto me la pueden enviar a plusvic[at]yahoo[dot]com, después de ese día publicaremos todas las soluciones enviadas. Aclaro que es bastante fácil encontrar un fichero de licencia válido sin entender el algoritmo de verificación, el objetivo del «reverse me» es entender el algoritmo. Así que….

…come on baby crack my file,
come on baby crack my file,
try to set the key on…… file.

Solución al reverseme! de Victor

Hola!,Ecuaciones

Ahora que alguien ya ha resuelto el reverseme! de Victor, enhorabuena a Tora y a Miguel : dice erg0t que eres una VM humana! ;-), aprovecho para postear mi solución, con código fuente incluido :-).

Lo primero era echar un vistazo al reverseme! de Victor y ver que perrerías nos había puesto, después de pasar su algoritmo a C, con un poquito de asm inline para ver el estado de la FPU 😉 , nos quedamos con algo como lo siguiente …

(más…)

Please, reverse me!

Alegoría de reverser tallada en bronce
El sábado me quedé con ganas de Hack it en la Euskal . Está mal que lo diga yo, pero formamos un dream team que arrasó con las pruebas finales en tiempo récord, y al final todos nos quedamos deseando que hubieran más pruebas por hacer. Así que mientras regresaba en el metro me puse a pensar en un algoritmo interesante para un «reverse me», y el resultado ha sido este.

Solo adelantaré que no es demasiado difícil, y que hay que desempolvar un poco las matemáticas elementales. ¿Alguna pregunta o comentario…?

Misterios de la vida

perrolocoHola,
Pues nada siguiendo la estela de «iDefense acaba de publicar» xD , iDefense acaba de publicar un advisory del año de la pana. El fallo lo descubrí en febrero de 2006 así que os hacéis una idea. La movida esta en las funciones del DirectX Direct3D que se usan para mapear una textura en memoria.

Uno de los formatos soportados era el TGA, pero DirectX cometía un fallo gordo a la hora de copiar el tga mapeado a un buffer que era dinámicamente reservado usando campos en la header del tga. Es decir, esos campos los puedes modificar a tu gusto. Entonces tenemos un buffer en la heap cuyo tamaño es calculado usando : (Width*Height)*bpp. Por otro lado DirectX mantenía una estructura interna donde el tamaño del fichero era obtenido de la función GetFileSize. A la hora de copiar el fichero mapeado hacia el buffer, usaba el resultado obtenido de GetFileSize por lo que el overflow está claro. Todo el rollo técnico y el código lo podéis leer en el advisory.

Esta vulnerabilidad se probó que era remótamente explotable, incluso con una intervención mínima del usuario, pero ya ves por misterios de la vida Microsoft decidió no publicar un boletin de seguridad y hasta donde yo se, arreglarla silenciosamente. Cosas de Microsoft…

Bueno, aquí podéis descargar el advisory.

Un saludo.