Ir al contenido

Compiladores

Un decomp matching necesita el compilador original, en la versión original, con los flags originales. Identificarlos suele ser el primer hito real de un proyecto.

  • Cómo identificar un compilador: strings que quedaron en el binario, la forma de los prólogos y epílogos, versiones de bibliotecas, y comparar funciones pequeñas con compiladores candidatos.
  • Las familias principales:
    • Metrowerks CodeWarrior (GameCube, Wii, DS y otras);
    • SGI IDO (Nintendo 64);
    • GCC en muchas versiones antiguas (N64, PS1, PS2, GBA y más);
    • compiladores más nuevos en consolas recientes.
  • Flags: niveles de optimización, y flags que cambian la generación de código.
  • Cómo ejecutar compiladores antiguos hoy: wrappers como wibo, y compiladores reconstruidos.
  • Varios compiladores en un mismo juego: bibliotecas compiladas con una versión distinta a la del juego.