HackIt! Nivel 10: 0wn3d !

Me pongo a escribir el tutorial dentro de unos días. Ahora voy a tomarme un descanso, porque este nivel me ha hecho perder algunas horas de sueño 😉 Para el que esté liado con este nivel del demonio, algunas pistas: elfsh es tu amigo.

Comandos clave en GDB:

ignore breakpoint saltos

set {int}0xdireccion = valor

jump *0xdireccion

disable breakpoint

info breakpoints

x/15x 0xdireccion

QGtkStyle: aplicaciones Qt con aspecto GTK+

Jens Bache-Wiig es un desarrollador de Trolltech que ha anunciado la disponibilidad de un nuevo motor de estilos para Qt llamado QGtkStyle, que permite adaptar el aspecto gráfico de las aplicaciones Qt al theme GTK+ por defecto en que el usuario de GNOME esté usando.  Es decir, que si un usuario de GNOME abriera la aplicación Qt Designer y tuviera QGtkStyle instaslado, vería lo siguiente:

que, como puede observarse, tiene el aspecto GTK+ de una aplicación GNOME, lo cual hará que la integración de aplicaciones entre ambos escritorios sea cada vez mayor (de cara al usuario final, incluso «transparente»).

OpenBravo recibe una inyección de 12 millones de dólares

OpenBravo, el ERP opensource con sede en Navarra, ha recibido una inyección de capital de 12 millones de dólares. Un ERP que comenzó como un fork de Compiere, de la mano de dos profesores de la Universidad de Navarra, se ha convertido en la referencia a nivel mundial, en software ERP bajo código abierto. No obstante, según la Wikipedia, Openbravo Community Edition está licenciado bajo Openbravo Public License Version 1.1 («OBPL«), adaptación de la licencia libre Mozilla Public License que aplica algunas restricciones que la hacen incompatible con la licencia GPL.

Configuración GDB para ingeniería inversa

La potencia de GDB como debugger, así como sus funcionalidades, son enormes. Sin embargo, el interfaz de usuario de GDB es bastante espartano, austero (sobre todo si lo comparamos con otros debuggers para Windows, como OllyDBG, por ejemplo). Si quieres desentrañar código en ensamblador por técnicas de ingeniería inversa con la ayuda del interfaz por defecto de GDB, vas a notar en tus propias carnes esa austeridad. ¿No se podría tener algo más amigable y usable que el interfaz de GDB pero con la misma potencia del debugger de GNU? Pues sí, existe la posibilidad de hacer algo de «tuning». Se hace a través del fichero de configuración .gdbinit que guardaremos en nuestro directorio $HOME. Y en concreto, existe un ejemplo de configuración llamado Mamon’s GDBINIT especialmente orientado para los hackers (en sus dos acepciones) de la ingeniería inversa.

Podéis apreciar que ahora, cada vez que ejecutemos una instrucción en GDB, se nos mostrará el estado de los registros, de la pila, de la sección de datos y el contexto de código en ensamblador en el que nos movemos. Impresionante y, una vez que lo conoces, indispensable. Rizando el rizo, el blog «in the name of zero», publicó hace tiempo ya una versión del Mamon’s gdbinit , añadiéndole coloreado. Ahora sí podremos depurar código como $DEITY manda…