Ingeniería Inversa: cómo destripar un ELF

Esta semana ha sido muy ajetreada (trabajos, exámenes, prácticas…) y para liberar un poco de stress, aparte de ir a hacer un poco de footing, he desempolvado un viejo problema del concurso de HackIt! de la Euskal Encounter 2006 y le he dedicado algunos minutos (bueno, vale, tal vez algo más O:-) El reto consiste en ‘romper’ un fichero ejecutable Linux (formato ELF) para obtener una clave. Como ayuda, partimos del siguiente programa C (lógicamente no es exactamente el que genera el ejecutable, pero nos sirve como pista para ver por dónde van los tiros):


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[]){
char serial[15] = "UNREGISTERED";
char login[20]; printf("Introduzca su nombre de usuario: ");
gets(login);
printf("Comprobando número de serie... %sn", serial);
if(!strcmp(serial, "00-11-22-33-44"))
{
printf("Hola %s, bienvenido al sistema...n", login);
printf("La contraseña del siguiente nivel es LALALALAn");
} else
{
printf("Lo siento %s, su numero de serie ha caducadon", login);
exit(-1);
}
}

Sigue leyendo Ingeniería Inversa: cómo destripar un ELF

Diagramas en OpenOffice.org 2.3

Chart WizardYa es posible descargar una versión de desarrollo de la versión 2.3 de OpenOffice.org. Entre otras novedades, destaca la herramienta para crear distintos diagramas en hojas de cálculo (chart). Solveig Haugland ha publicado en su blog las principales funcionalidades de esta herramienta y ha unido los posts en un completo tutorial en PDF que formará parte de la actualización de su libro sobre OOo. Si quieres aprender a dibujar diagramas de barras en Calc a golpe de ratón en el nuevo OpenOffice, este tutorial es imprescindible.

HOWTO: hibernación y suspenso en Debian GNU/Linux

Autor: Basaburu ‘ 2007
Título completo: HOWTO: hibernación y suspenso en Debian GNU/Linux sid/experimental con el patch suspend2 y el script hibernate

Introducción

El software Suspend2 es una funcionalidad del kernel que guarda el contenido de la memoria Ram en la partición swap o en un fichero y apaga la máquina. Cuando se enciende de nuevo, el contenido de la partición swap se carga nuevamente en la memoria, permitiendo el trabajo continuo, en el mismo estado en que se encontraba la máquina al hibernar/suspender, sin tener que recargar el sistema. El script hibernate explota y gestiona las funcionalidades de Suspend2. El proceso es muy rápido y útil, sobre todo en portátiles, donde economizar la energía es importante para el equipo.

Otra funcionalidad que proporciona el script hibernate es el suspenso en Ram de forma que mientras exista batería la imagen del sistema es almacenada en suspenso en la Ram.

Así que tenemos por un lado el software suspend2 un parche del kernel y el script hibernate que explota sus funcionalidades.

Este howto se escribe sobre una Debian GNU/Linux sid/experimental pero es factible su aplicación a etch y lenny. Y se presupone que a Ubuntu. De hecho hibernate esta en la misma versión para etch, lenny 1.94-2. Y sid esta en 1.96~pre-svn.r1116-1) He instalado las dos versiones y no he apreciado cambios aparentes.

En KDE se integra perfectamente con klaptop, con todas las ventajas que eso tiene. Excepto por que para el suspenso no utiliza hibernate-ram el script para suspenso en Ram. Lo que supone incomodidades a la hora de gestionar módulos que no se quieren levantar o hardware que se queda perchado. (estoy intentando averiguar si es posible que klaptop tire de hibernate-ram)

Una comparativa de funcionalidades de hibernado a disco de las distintas implementaciones para la serie 2.6 del kernel, se pueden encontrar en esta pagina: http://www.suspend2.net/features

Sigue leyendo HOWTO: hibernación y suspenso en Debian GNU/Linux

Linux Magazine 28, nuevo número de Junio

    Linux Magazine 28Linux Magazine acaba de publicar su número de Junio, centrado esta vez en técnicas anti-spam. Incluye además:

DVD de Ubuntu Feisty Fawn 7.04, evaluación del Nokia  N800, artículo sobre Ulteo (la distro de Gael Duval, ex responsable de Mandrake), copias de seguridad con Mondo y Mindi, artículo sobre Upstart, el nuevo sistema de arranque de tareas y servicios durante el arranque Linux, artículo sobre Incron, un sistema de monitorización de cambios en el sistema de archivos y ejecución de tareas en función de esos cambios, y mucho más