martes, 27 de abril de 2010

Tool - FUU - [F]aster [U]niversal [U]npacker


Hola a todos!,

Si, si, no estoy muerto! sigo aca!. Durante este tiempo estuve haciendo algunas cositas, entre ellas, una nueva tool, llamada FUU, Faster Universal Unpacker.

Primero que nada quiero comentarles que esta tool nacio por la curiosidad de saber de que se trataba TitanEngine. TitanEngine es un SDK desarrollado por la gente de ReversingLabs. Se trata de una libreria llena de funciones listas para ser usadas y que tienen como finalidad la creacion de tooles del estilo de unpackers, decrypters, decompressors, etc. TitanEngine fue presentado en BlackHat en 2009 y fue ahi donde lo conoci.

Ahora bien ... que es FUU? FUU es basicamente una GUI mediante la cual se puede acceder a diferentes tipos de tools. La mision principal de FUU es la de darnos una manera facil de poder desempacar programas empacados, comprimidos o encryptados con los packers/compressors y crypters mas conocidos como UPX, ASPack, etc; Ademas, cuenta con algunos plugins extras como "Generic OEP Finder", "Crypto Signatures Detector" y "Generic Unpacker"; estos plugins fueron diseñados por la misma gente que hizo PEiD.

La tool esta creada (tanto la GUI como los plugins) estan hechos en ASM. Particularmente, la GUI, esta armada con RadASM.

Por que "Universal"?. El termino, en este caso, no esta usado de la manera que uno puede llegar a pensar, es decir, en un algoritmo que engloba la comportamiento general en varios packers y permite con una sola funcion, desempacar varios clases de packers/crypters/compressors; sino que cuando le puse "Universal" pense en que podriamos agregar cuantos plugins quisieramos para poder analizar y desempacar tantos packers como queramos, hasta llegar al punto que abarquemos todos (o al menos la gran mayoria) los existentes.

En este primer release pueden encontrar, entre muchos bugs, 4 plugins para desempacar UPX, ASPack, BeRoExePacker y FSG y ademas, los plugins mencionados anteriormente. En proximas versiones se continuaran agregando plugins para diferentes packers/crypters/compressors y alguna que otra tool extra, ademas de fixear bugs :)

El proyecto esta hosteado en googlecode:

http://code.google.com/p/fuu/

Si quieren, pueden mirar el source code aqui: http://code.google.com/p/fuu/source/browse/

Ademas, he creado un grupo en Google Groups por si alguien quiere sumarse para discutir algun tema particular, reportar bugs, pedir algun feature o algun plugin especial. El grupo lo pueden encontrar aqui: http://groups.google.com/group/faster-universal-unpacker

La GUI esta distribuida bajo licencia GPL y cada plugin (menos los extra) estan distribuidos bajo LGPL.

La primer release la puede bajar directamente desde aqui:

http://fuu.googlecode.com/files/FUU%20v0.1%20Beta.rar


En breve publicare un tutorial explicando como fue que cree esta tool y ademas como se crea un plugin con TitanEngine.

Espero que les guste y les sea util. Comentarios, sugerencias y bugs son bienvenidos siempre!.

Antes de finalizar, quisiera agradecer a Guan De Dio y marciano por aguantarme y responder todas las preguntas que siempre estoy haciendoles, por ayudarme con los problemas que suelo encontrarme y que no se como afrontar y a InDuLgEo por diseñar el main logo de la tool :P Gracias a los tres!.

Un abrazo!

Hasta la proxima!.