Borrado masivo de spam en mailman desde línea de comandos

El  problema del día: tenemos una lista de distribución moderada, con poco tráfico legítimo, que no hemos revisado en un largo período de tiempo.  Conclusión: está atiborrada de spam. Tal es el tamaño de esta basura que el interfaz web de mailman se para antes de poder mostrar todos los mensajes pendientes de aprobación en la cola. Queremos reactivar dicha lista, por lo que hay que borrar el spam de alguna forma, y rápido.

Solución: entrar por ssh, cambiar al directorio /var/lib/mailman/data y eliminar los mensajes pendientes de esa lista:

rm -rf heldmsg-NOMBRELISTA*.pck

Pasa a engrosar mi cuaderno de recetas para el administrador Linux ocupado. Gran libro 😉

Open Dialect : un IDE opensource para desarrollo Flash en Linux

Open Dialect es un IDE libre para desarrollo Flash en Linux desarrollado en C# usando el framework .Net 2.0

Todavía está en una versión 0.2 y sólo está disponible para Linux desde hace unas 24 horas 🙂 pero ya permite la creación y testeo de ficheros .SWF . Puedes ver un ejemplo de Open Dialect en acción en http://www.t21northamerica.com/T21NorthAmerica.html

Puedes descargar el código, instalarlo y seguir el desarrollo a través de la web oficial.

Fedora 8, PulseAudio y Audacity

En mis clases de auto-aprendizaje del inglés (los [video|audio]podcast de Internet con transcripciones son increíblemente útiles) he llegado ya al punto en el que me reto a mí mismo 🙂  La idea es que con Audacity extraigo trozos de podcast que me interesan, frases hechas o que creo útiles. Las traduzco al castellano las grabo y las pego delante del original en inglés, con unos segundos de diferencia. Luego, en mis viajes en coche, aguantar los atascos matinales me sale productivo, voy repitiendo las frases que oigo por el lector de mp3.  Supongo que en la época del manos libres, verme hablando sólo en el coche ya no es algo que extrañe a nadie 😉      El caso es que Audacity en mi máquina Fedora 8 ha sido un pequeño dolor de configurar dado que por una parte no tenía soporte mp3 y por otro lado no se oía nada de lo que le pedía que sonara. El primer problema se debía a que tenía instalado audacity (a secas) frente a audacity-nonfree  (disponible en repositorio Livna). El segundo problema era que en Fedora 8 el gestor de audio es PulseAudio, y la verdad, no va muy fino …. o al menos, no lo va ni con Skype ni con Audacity. ¿Solución? Lanzar audacity desactivando PulseAudio, así:

$ pasuspender audacity

Proyecto Euler: reto a tus conocimientos de programación

El Proyecto Euler publica una serie de problemas de programación en los que es necesario tener algo más que conocimientos matemáticos básicos para resolverlos. Aunque las matemáticas ayudarán a encontrar soluciones elegantes y eficientes, el uso de un ordenador y buenos conocimientos de programación serán más que necesarios para resolver la mayoría de los problemas.

La motivación por la que comenzó el Proyecto Euler es la de ofrecer una plataforma para la mente inquieta que quiera adentrarse en nuevas áreas y aprender nuevos conceptos de una forma divertida e interesante.

¿Quieres saber en qué nivel están tus conocimientos de programación? Prepara tu cafetera, coge papel y lápiz, y entra en el Proyecto Euler…

HackIt! Nivel 8: reverse engineering en Windows (solución)

Si hacemos lo que vimos en el post anterior, veremos la siguiente cadena: «Compressed by Petite (c)1999 Ian Luck»

Así que ahora que sabemos el compresor usado en el .exe, habrá que descomprimirlo. La primera pega, sacada del readme de Petite: «No existe un descompresor de Petite.» Genial… vamos a preguntar al sabio a ver si opina lo contrario. Entre los resultados, uno curioso: «r!sc’s Petite enlarger» (alargador de petite) 🙂 Tras ejecutar enlarger.exe sobre login.exe vemos que tenemos éxito 🙂 Se genera en la misma carpeta de login.exe un nuevo binario descomprimido de nombre un-packed.exe . Ése será el ejecutable que abriremos con OllyDBG, y ahora sí, estaremos en disposición de depurarlo:

Pondremos un punto de ruptura en la dirección 0x0401290 (tocamos la línea y pulsamos F2). Pulsamos el botón Play (Run Program = F9) . En la línea 0x04012D4 vemos que se intenta leer el fichero license.lic (en concreto los campos user y login). Antes de seguir depurando, por tanto, vamos a cumplimentar esos campos (el user lo dejamos tal cual está en el fichero original, «euskal15», y en el password pondremos «contraseña», por ejemplo).

Seguimos depurando paso a paso pulsando F7 (ejecutar paso a paso, metiéndose en el código de las funciones – destino de los call – ) ó F8 (ejecutar paso a paso, pero NO meterse en el código de las funciones – no meterse en el destino de los call – ) .

Cuando lleguemos a la instrucción 0x04013AA debemos fijarnos en la zona superior derecha, en el valor de los registros EAX, ECX, etc. Veremos la cadena HACKthis (podemos empezar de cero, probando a poner esa cadena en el password y ejecutar el .exe. Veremos que no es la contraseña que necesitamos) Seguimos ejecutando paso a paso, hasta que al llegar en una de las vueltas a la instrucción 0x04013CD veremos lo siguiente:

«HFODdget» … qué cadena más curiosa, ¿no? 😉 No voy a explicar exactamente qué hace cada región de código ensamblador, eso lo dejo «como ejercicio para el lector» 😉