Random IRC quote :      * ggonzalez se ha marchado (Quit: ETOOSAD) <--- Poor Gabri

My C++ sparse BitSet

Hace unas semanas me pidieron que implementase un mapa de bits en C++. La especificacion no tenia limitaciones mas alla de la eleccion del lenguaje de programacion… Asi que era un buen momento para hacer alguna implementacion «creativa».
(más…)

¿Donde esta el bug?

#include <Windows.h>

//
// ¿Por qué se da el bug en este código?
// ¿De quien consideramos que es el bug en este caso?
//
void main()
{
  SC_HANDLE ScManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);

  if (ScManager != NULL)
  {
    SC_HANDLE ScService = OpenServiceW(ScManager, L"ACPI", SERVICE_ALL_ACCESS);

    if (ScService != NULL)
    {
      DWORD bufsize = 0;

      if (QueryServiceConfigW(ScService, NULL, 0, &bufsize) == 0)
      {
        if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
        {
          BYTE * buffer = (BYTE*)calloc(1, bufsize + 1);

          if (buffer != NULL)
          {
            QUERY_SERVICE_CONFIGW * query = (QUERY_SERVICE_CONFIGW *)(buffer + 1);

            QueryServiceConfigW(ScService, query, bufsize, &bufsize);

            free(buffer);
          }
        }
      }
      CloseServiceHandle(ScService);
    }
    CloseServiceHandle(ScManager);
  }
}
 

Os recomendamos compilar y ejecutar el codigo 🙂

¿Qué sabemos de cajeros?

Yo no se mucho, salvo que parece que la mayoría están basados en Windows. Así que abro este post para la gente que sí sabe. Por favor, comentad situaciones, curiosidades, especificaciones, software, etc..

Algunos fotos de cajeros haciendo cosas raras, que me he encontrado por ahí.


(más…)

Comparación de binarios por grafo

Hace ya bastante tiempo me puse a mirar como buscar similitudes entre programas basándose exclusivamente en grafos y estadísticas de los mismos, procurando huir siempre que fuera posible del código ensamblador, con la ayuda de muchas ideas de la gente de 48bits, especialmente. La idea es poder buscar similitudes entre múltiples binarios para agruparlos (por ejemplo, para crear subgrupos de baterías de malware similares a partir de una batería más grande) o comparar 2 binarios y extraer sus similitudes (útil para buscar vulnerabilidades corregidas en parches, aunque este post no va de eso). El resultado de todo esto es una serie de algoritmos «WorksForMe» (TM) qué he implementado utilizando Pyew (inicialmente la idea era utilizar IDA pero, a pesar de que funcione mejor, me gusta más utilizar software libre y a poder ser mío, manías).
(más…)

El ciclo de vida de un fallo.

Desde 48bits os deseamos unas felices comilonas y un próspero loquesea.

Quiero ambientar este post con una canción de la página revelación del 2010, ano.lolcathost.org

Su título es «Miau, Miau», letra a cargo de Alejandro Sanz y el fulano de Jarabe de Palo. La música fue compuesta por Luis Cobos.

Según los autores «con esta canción queríamos expresar nuestra consternación por todo lo que vemos en la tele y la gente nos cuenta en facebook: los superpobres que son muy pobres ¿sabes? la falta de berberechos humanos en China, el cambio simpático y los tierramotos de Haití. Sin olvidarnos de cómo nos vemos obligados a beber agua del grifo debido a la pirateria.»
Pulsa para escuchar el hit de las navidades: «Miau Miau»

Al lio…
(más…)