Hackear rom

El hackeo de ROM es el proceso de modificar una imagen de ROM de un videojuego para cambiar sus gráficos, sus diálogos, niveles, su jugabilidad u otros elementos. Por lo general, esto lo hacen los fanáticos de los videojuegos que tienen las habilidades técnicas para dar nueva vida a un viejo juego del que sienten nostalgia, como una variación creativa, o para crear juegos no oficiales y por el bien de él. motor de juegos.

El hackeo de ROM se realiza generalmente usando un editor hexadecimal (un software para modificar datos no textuales) y varias herramientas específicas como editores de mosaicos y herramientas específicas para un juego dado, que sirven principalmente para modificar niveles, objetos, etc., aunque más En ocasiones se utilizan herramientas avanzadas como lenguaje ensamblador y depuradores . Cuando se completa, los trucos más comúnmente distribuidos a través de Internet para que otros jueguen usando un emulador .

La traducción amateur es un tipo de ROM de piratería; También existen hacks anti-censura cuyo propósito es restaurar un juego a su estado original. Esto se ve regularmente en juegos más antiguos que, durante el proceso de importación, fueron censurados debido a la política de contenido del editor (especialmente Nintendo ) sobre videojuegos, que era mucho más estricta en los Estados Unidos que en Japón o Europa. Aunque la metodología se aplica a ambos tipos de piratería, este artículo se centra en la "piratería creativa", como la edición de los niveles de un juego.

Comunidades

Muchos piratas informáticos de ROM forman o se unen a grupos por diversas razones, como configurar un espacio común en línea para compartir hacks o capturas de pantalla, para obtener el apoyo o la colaboración de otros miembros del grupo., Para el estado privilegiado en el foro del grupo (si corresponde), para el prestigio asociado al grupo, o simplemente por camaradería. Sin embargo, muchos piratas informáticos optan por operar solos. No todos los miembros de un grupo determinado son necesariamente piratas informáticos; algunos se han "retirado", otros ofrecen desarrollo web y / o servicios de administración de foros, y algunos simplemente se ofrecen para guiar a los aspirantes a piratas informáticos.

La mayoría de los grupos de piratería ofrecen un espacio en línea para alojar hacks y capturas de pantalla (a veces solo alojan hacks realizados por miembros del grupo, a veces alojan casi cualquier hack), un foro y, a menudo, tienen un canal de IRC .

Metodología

Los datos en ROM, que han sido creados por muchos programadores o equipos de programación diferentes, pueden variar ampliamente.

Edición hexadecimal

Un editor hexadecimal es una de las herramientas básicas en el kit de herramientas de cualquier hacker de ROM. Los editores hexadecimales se utilizan generalmente para editar texto y otros datos de estructura conocida (por ejemplo, propiedades de objetos) y piratear ensamblajes .

La edición de texto es una de las formas más básicas de piratería. Muchos juegos no almacenan sus textos en formato ASCII , por lo que algunos editores hexadecimales se han desarrollado específicamente, indicando qué valor de byte corresponde a qué letra (s) del alfabeto, para facilitar la edición del texto; un archivo que determina estas relaciones byte = letra se denomina archivo de "tabla". Otros juegos utilizan técnicas simples de compresión de texto (como la codificación de pares de bytes, también conocida como DTE, codificación de doble mosaico , donde ciertas combinaciones de dos o más letras se codifican en un solo byte), que un editor hexadecimal adecuado puede facilitar la modificación.

Un editor hexadecimal es la herramienta de elección para modificar las propiedades de un personaje / objeto, si se conoce la estructura y ubicación de estos datos y si no hay un editor específico del juego para modificar estos datos. Algunos piratas informáticos imprudentes también realizan la edición de niveles con un editor hexadecimal, pero esto es extremadamente difícil (a excepción de los juegos cuyo formato de almacenamiento de niveles se parece mucho a cómo se presenta en el editor hexadecimal).

Edición de gráficos

Otra habilidad básica de piratería es la piratería de gráficos, que implica cambiar la apariencia de los elementos del juego, como el entorno, los personajes, las fuentes y más. El formato de los datos gráficos varía de una consola a otra, pero la mayoría de los más antiguos (NES, Super NES, Game Boy, etc.) almacenan gráficos en mosaicos , que son unidades de datos de 8x8 píxeles , y se organizan en la pantalla para producir el resultado deseado. También es posible editar estos mosaicos con un editor hexadecimal, pero es más fácil usar un editor de mosaicos (como Tile Layer o Tile Molester ), que puede mostrar datos ROM gráficamente, así como editarlos.

Los trucos gráficos pueden variar desde ligeras modificaciones (como darle a Mario un peinado afro ) hasta " llevar " personajes de un juego a otro, hasta completar cambios de tema visual (generalmente acompañados de cambios de paleta; ver más abajo).

La piratería de gráficos adicional implica más que un cambio en los mosaicos y colores, cambiando la forma en que se colocan los mosaicos o los grupos de mosaicos generados, lo que brinda más flexibilidad y control sobre la representación final. Esto se logra mediante la edición hexadecimal o una herramienta especializada (para el juego o un sistema). Un buen ejemplo de un truco gráfico es el Pokémon Torzach inacabado, un truco que intentó agregar una generación completa de Pokémon y fichas asociadas al juego. Desde entonces, el truco ha sido abandonado, pero todavía sirve como un buen ejemplo de lo que se puede lograr con las herramientas disponibles.

Edición de paleta

Otra forma popular de piratería es la piratería de paleta , donde los valores de color se cambian para cambiar los colores que el jugador ve en el juego (que a menudo va de la mano con la edición de gráficos ); Los valores de la paleta se almacenan normalmente en formato hexadecimal . Esto es muy fácil para los juegos de NES , cuyos gráficos utilizan un conjunto predefinido de colores entre los que el juego hace selecciones; en este caso, el pirateo de la paleta corresponde a cambiar cuál de estos colores se elige. Las cosas se complican un poco más con los juegos de Super Nintendo u otros sistemas, que almacenan valores absolutos de colores RGB . Los editores de paleta son generalmente sencillos y vienen con editores de nivel o editores de gráficos específicos del juego.

Nivel editar

Una de las formas más populares de pirateo de ROM, la edición de niveles consiste en modificar o rediseñar los niveles o mapas de un juego. Esto se hace casi exclusivamente utilizando un editor adaptado a tus necesidades, un juego en particular (llamado editor de niveles ). Se pueden realizar ediciones de nivel para hacer el juego más difícil, para cambiar la historia del juego o simplemente para agregar algo nuevo a un juego antiguo. Junto con la piratería de gráficos completa, el juego puede cambiar drásticamente la apariencia del juego.

Edición de datos

Un elemento central de muchos trucos (especialmente los juegos de rol ) es la modificación de datos como propiedades de personajes, elementos y enemigos. Esto generalmente se hace "a mano" (con un editor hexadecimal) si se conoce la ubicación y estructura de los datos, o con un editor específico del juego que ofrece esta funcionalidad. Desde este marnière, un hacker puede cambiar el funcionamiento de las armas, la fuerza o el comportamiento de los enemigos, etc. El objetivo puede ser hacer el juego más fácil o más difícil, o incluso crear nuevos escenarios para que el jugador los atraviese.

Hackeo de ensamblajes

La técnica de pirateo más poderosa y posiblemente la más difícil es modificar el código del juego en sí, un proceso llamado pirateo ASM ("ASM" significa " ensamblaje ", refiriéndose al tipo de lenguaje de programación utilizado para los juegos, consolas más antiguas). No existe un método estándar para la piratería ASM, ya que el código varía mucho de un juego a otro, pero los piratas informáticos ASM más experimentados pueden usar un emulador con un depurador o rastreador incorporado, o navegar por la ROM con un desensamblador , luego analizar el código y modifíquelo usando un editor hexadecimal o un editor de ensamblador según sea necesario. Si bien esto representa un gran desafío en comparación con los métodos relativamente simples enumerados anteriormente, "cualquier cosa" es prácticamente posible con la piratería ASM (dentro del límite, por supuesto, de las capacidades de hardware / software de la plataforma de juego), que van desde la modificación de la inteligencia artificial de los enemigos. para cambiar la forma en que se generan los gráficos. (Por supuesto, las posibilidades están limitadas, sin embargo, por la capacidad del pirata informático para comprender y modificar el código existente).

Si los desarrolladores utilizaron un lenguaje escrito , el pirata informático podría compilar su propio código para el juego en el mismo idioma si tiene acceso a un compilador adecuado. Un ejemplo sería usar C para piratear juegos de Nintendo 64 , ya que MIPS - GCC puede compilar código para Nintendo 64.

Hackeo de música

Los trucos musicales son relativamente raros, debido a la gran variedad de formas en que se almacenan los datos musicales en los juegos (de ahí la dificultad para localizar y modificar estos datos) y las dificultades para componer música nueva (o usar música). Música de otro juego). Dado que el craqueo de música es muy poco común, muchos trucos no incluyen música compuesta o de pentagrama. Sin embargo, el software SapTapper se puede utilizar para piratear los datos musicales de Gameboy Advance, muchos juegos de Gameboy Advance utilizan el motor M4A (también llamado Sappy Driver ) para la música.

La forma más común de pirateo de música es la transferencia de música de una ROM a otra, y ambas suelen ser realizadas por la misma empresa. Llevar música entre dos ROM casi siempre supondrá algún problema, ya que el formato es casi siempre diferente. Un buen ejemplo de piratería musical sería el truco incompleto de Pokémon: The Legendary Ashes.

Sin embargo, algunos juegos tienen sus datos musicales 100% descifrados, por ejemplo, Final Fantasy VI y Super Mario World en SNES. Con herramientas de composición que utilicen, por ejemplo, MML ( Music Macro Language ), es posible convertir archivos midis en datos musicales compatibles con el juego o realizar composiciones originales. Un ejemplo de tales posibilidades es el truco Final Fantasy VI Return of the Dark Sorcerer, que contiene más de 250 canciones.

Expansión de ROM

Básicamente, un hacker de ROM difícilmente puede agregar contenido a un juego, sino simplemente modificar el contenido existente, y las ROM tienen poco o ningún espacio vacío. Esta limitación se puede superar mediante la expansión de la ROM , mediante la cual se incrementa el tamaño total de la imagen de la ROM, creando espacio para más contenido y un juego más grande. La dificultad de esto varía según el sistema para el que se creó el juego. Por ejemplo, expandir una ROM de NES puede ser difícil o imposible debido al controlador de administración de memoria (o mapa en inglés) que usa el juego. Por ejemplo, si un controlador permite 16 bancos de ROM y todas están en uso, expandir aún más la ROM es imposible sin convertir el juego de alguna manera en otro controlador, lo que podría ser fácil o casi abrumador. Por otro lado, expandir un juego de Super Nintendo es (casi) una operación de rutina. Para usar el espacio adicional, las partes del juego deben editarse o reescribirse (ver Assembly Hacking más arriba) para que el juego sepa dónde buscar la nueva información. Los juegos de Game Boy Advance generalmente se consideran los más fáciles de expandir.

Distribución

Una vez que se completa un truco (o una versión incompleta se considera adecuada para su lanzamiento temporal), se publica en Internet para que otros puedan jugar. La forma habitual de hacer esto es crear un parche (en IPS u otro formato) que se pueda aplicar a la ROM sin modificar. Esto se junta con cierta documentación en un archivo y se carga en algún lugar. IPS es un formato para registrar las diferencias entre dos archivos binarios (en este caso, entre ROM no modificada y ROM pirateada) y que es adecuado para hacks de ROM. IPS todavía se usa hoy en día para pequeños parches; sin embargo, a medida que las ROM crecieron, este formato mostró sus límites, lo que llevó a la creación de varios formatos de archivo, como NINJA y PPF (" PlayStation Patch Format"). PPF todavía se usa hoy en día, especialmente para parchear archivos grandes como imágenes de CD ISO y juegos de Nintendo 64 . La comunidad de piratería ROM también ha desarrollado un nuevo formato de parche, UPS, diseñado para ser el sucesor de IPS y PPF. Un formato de parche más reciente, el sistema de parche APS , también fue desarrollado por un hacker de ROM especializado en Game Boy Advance. El sistema APS ocupa más espacio, es reversible y más rápido que sus predecesores.

El objetivo de distribuir un truco como parche es evitar las desventajas legales de distribuir imágenes ROM completas; el parche solo guarda lo que ha cambiado en la ROM, por lo que distribuirlo no distribuye los elementos originales del juego. Un parche también es más pequeño que la imagen ROM completa (la ROM de NES puede tener entre 40  KB y 512  KB  , una SNES de ROM puede tener entre 256  KB y 6  Mio ). Sin embargo, el uso de parches no elimina los problemas de derechos de autor porque los parches pueden considerarse trabajos derivados  ; sin embargo, las empresas suelen ignorarlos hasta que se lanzan con las ROM.

Sistemas y juegos

La mayoría de los pirateos de ROM se realizan en juegos de NES y Super Nintendo , que son pequeños y simples en comparación con juegos de consola más avanzados como Nintendo 64 . Los juegos de Game Boy también son populares para la piratería, así como los juegos de Mega Drive en menor medida. Pero de ninguna manera los juegos de consola más nuevos están a salvo de la piratería y, de hecho, a medida que las computadoras se vuelven más poderosas y las herramientas se vuelven más numerosas, podemos esperar que surjan más ataques para PlayStation y Nintendo 64 .

Los juegos populares para apostar son juegos populares para piratear; Se han lanzado muchos trucos para los juegos / series de Sonic , Super Mario Bros. , Pokémon , Chip's Challenge , Super Mario World , Final Fantasy , Chrono Trigger , The Legend of Zelda , Megaman , Fire Emblem , EarthBound , Super Mario 64 y muchos más.

Fuentes

  1. Diccionario de Términos romhacking .
  2. (in) "  vg64tools - Project Hosting on Google Code  " , Code.google.com (consultado el 9 de septiembre de 2009 )
  3. (in) "  Super Mario 64: Pong Of Death (Messiaen)  " , Sites.google.com (consultado el 9 de septiembre de 2009 )
  4. (in) "  Return of the Dark Sorcerer tracklist  " (consultado el 14 de diciembre de 2018 )
  5. Nuevo formato de parcheo, UPS, debuta hoy
  6. formato de parche más nuevo, APS, lanzado recientemente

Ver también

enlaces externos