Registrarse

Debate - ¿Es Decomp Rom Hacking?

Cheve

MoonLover~
Miembro de honor
Según Wikipedia: "ROM hacking is the process of modifying a ROM image or ROM file to alter the contents contained within, usually of a video game to alter the game's graphics, dialogue, levels, gameplay, and/or other elements."

Es decir: "ROM Hacking es el proceso de modificar una ROM para alterar sus contenidos, usualmente un video juego, modificando sus gráficos, diálogos, etc"

En el proceso del decomp se llega a una ROM Final, por medio de compilar el código C, pero no hay modificación de ninguna imagen en el proceso.

¿Qué dicen ustedes? Sé que la mayoría opina distinto a mí.
 

Kaktus

Miembro insignia
Miembro insignia
Vaya sinvergúenza xdd

——-

Edit: diría que decomp está un poco en el limbo. Partes de una ROM compilada, y terminas en una modificación de esa ROM, también compilada. Entre medias, se realiza un proceso de ingeniería inversa que transforma el contenido binario del ROM en un lenguaje más legible para el ser humano. En esencia, el contenido no cambia, se transforma, para después volver a su estado binario original.

Por ello, yo esto lo acuñaría como ROM Faking
 

Juanjo

Hacker del pasado... Compilador del presente
Miembro insignia
Hola ¿Qué tal?

El debate es interesante, [E ignorando el hecho de que más de uno quiera meterse una tabla de Thingy por donde no llega la luz]... Creo solemnemente que hay una confusión sobre qué es realmente el hacking en este contexto.

Hacking, por definición, no es solo editar binarios ni usar un hex editor. Es entender y modificar un sistema para que haga lo que tú quieres, aunque no haya sido diseñado para ello. Eso aplica tanto a ROMs como a software, hardware, scripts, incluso a la vida (por eso existen los life hacks).

En el caso del decomp, el simple hecho de poder abrir los archivos originales del juego, estudiar su estructura, modificar sus mecánicas, reutilizar sus assets y adaptar su engine sin tener el SDK oficial ya es, por sí solo, un acto de hacking.
No es menos válido que editar el binario en un editor hexadecimal. De hecho, muchos de los archivos de un proyecto decomp todavía están escritos en ASM puro, y cada cambio que se hace ahí se compila directamente a código de máquina, igual que en un ROM hack tradicional.

Si eso no es hacking, entonces ¿editar mapas con Advance Map tampoco lo es, porque no programaste la herramienta? ¿Solo cuenta si editas el offset tú mismo en HxD?

La Wikipedia lo deja bastante claro en su sección de Assembly hacking:


“If the developers used a typed language, the hacker may be able to compile their code for the game in the same language if they have access to a proper compiler.” [ROM hacking, https://en.wikipedia.org/wiki/ROM_hacking#Assembly_hacking (last visited Aug. 5, 2025).]

Es decir, usar C para reescribir funciones de una ROM es una forma legítima de hacking, siempre que el resultado siga siendo una ROM modificada.

Al final, el ROM hacking moderno ha evolucionado: antes solo tenías hex editors y herramientas de dudosa procedencia, hoy puedes modificar el código fuente directamente gracias a que alguien hizo el trabajo monumental de ingeniería inversa. Pero el espíritu es el mismo: tomar un juego ya existente y modificarlo sin acceso oficial a sus herramientas.

Así que:


  • Hacerle bypass a una ROM sin el SDK original = ROM hacking
  • Reescribir funciones en C desde un decomp = ROM hacking
  • Usar AdvanceMap o UNLZ para modificar assets = ROM hacking
  • ¿Sabén lo que no es ROM Hacking? != RPG Maker :v

Lo que cambia no es la categoría, sino el nivel de acceso y las herramientas. Pero sigue siendo el mismo juego, el mismo objetivo y el mismo espíritu.


PD: Creo que más de uno aquí ha contribuído de alguna forma al repo de pret así que no somos menos hackers por ello.
 

Xiros

¡Creador de Pokémon Omega!
Miembro del equipo
Administrador
Staff
Miembro de honor
Hola ¿Qué tal?

El debate es interesante, [E ignorando el hecho de que más de uno quiera meterse una tabla de Thingy por donde no llega la luz]... Creo solemnemente que hay una confusión sobre qué es realmente el hacking en este contexto.

Hacking, por definición, no es solo editar binarios ni usar un hex editor. Es entender y modificar un sistema para que haga lo que tú quieres, aunque no haya sido diseñado para ello. Eso aplica tanto a ROMs como a software, hardware, scripts, incluso a la vida (por eso existen los life hacks).

En el caso del decomp, el simple hecho de poder abrir los archivos originales del juego, estudiar su estructura, modificar sus mecánicas, reutilizar sus assets y adaptar su engine sin tener el SDK oficial ya es, por sí solo, un acto de hacking.
No es menos válido que editar el binario en un editor hexadecimal. De hecho, muchos de los archivos de un proyecto decomp todavía están escritos en ASM puro, y cada cambio que se hace ahí se compila directamente a código de máquina, igual que en un ROM hack tradicional.

Si eso no es hacking, entonces ¿editar mapas con Advance Map tampoco lo es, porque no programaste la herramienta? ¿Solo cuenta si editas el offset tú mismo en HxD?

La Wikipedia lo deja bastante claro en su sección de Assembly hacking:


“If the developers used a typed language, the hacker may be able to compile their code for the game in the same language if they have access to a proper compiler.” [ROM hacking, https://en.wikipedia.org/wiki/ROM_hacking#Assembly_hacking (last visited Aug. 5, 2025).]

Es decir, usar C para reescribir funciones de una ROM es una forma legítima de hacking, siempre que el resultado siga siendo una ROM modificada.

Al final, el ROM hacking moderno ha evolucionado: antes solo tenías hex editors y herramientas de dudosa procedencia, hoy puedes modificar el código fuente directamente gracias a que alguien hizo el trabajo monumental de ingeniería inversa. Pero el espíritu es el mismo: tomar un juego ya existente y modificarlo sin acceso oficial a sus herramientas.

Así que:


  • Hacerle bypass a una ROM sin el SDK original = ROM hacking
  • Reescribir funciones en C desde un decomp = ROM hacking
  • Usar AdvanceMap o UNLZ para modificar assets = ROM hacking
  • ¿Sabén lo que no es ROM Hacking? != RPG Maker :v

Lo que cambia no es la categoría, sino el nivel de acceso y las herramientas. Pero sigue siendo el mismo juego, el mismo objetivo y el mismo espíritu.


PD: Creo que más de uno aquí ha contribuído de alguna forma al repo de pret así que no somos menos hackers por ello.
Estoy de acuerdo con todo lo que dice @Juanjo y permaban para el que esté en contra (?

Hablando en serio, estamos generando una ROM que en su estado inicial se comporta exactamente igual que un rom de gba de nintendo, podemos entrar en tecnicismos pero claramente estamos hackeando y modificando el contenido original de GF
 

Naren Jr.

Puto amo
Miembro de honor
Usuario de Platino
Fuera de chistes mi opinión es la siguiente:

El decomp no es romhacking en el sentido clásico es un enfoque completamente distinto, más cercano al desarrollo profesional, pero aún mantiene una conexión legal ambigua con el material original que lo mantiene en la misma zona gris, esta en un limbo, para el Romhacking cualquier persona se bajaba el advance map y el Xse y hacia cosas, para el decomp se requiere al menos un conocimiento de desarrollo, y tener los entornos de trabajo correspondientes, para mi es un paso más allá del romhacking algo más pro como dice la chaviza
 

Morti

I'll greet the sunrise, maybe...
Miembro del equipo
Moderador/a
En mi opinión, semánticamente hablando ya tenemos la respuesta muy acertada de Juanjo.

Pero para ayudar a entender realmente a que nos referimos necesitaríamos comprender lo que estamos haciendo dentro de nuestras propias "reglas contextuales", si por ejemplo el Rom Hacking es añadir o quitar betún, frutas o relleno al pastel, decomp sería tener la receta que modificamos a nuestra necesidad, con mayor libertad claro porque el biscocho del pastel aún no se hornea.

Entonces, ¿Es Rom Hacking? No, no estamos modificando una ROM, estamos fabricando una y esto es útil saberlo para comprender mejor el contexto en el que trabajamos todos.
 

RevKenHack

Usuario de platino
El proceso cambia, pero el fin es el mismo: una ROM hackeada. Se sigue trabajando en base a una ROM preexistente, solo que esta vez se encuentra desmenuzada en archivos más legibles. Efectivamente, es hacking
 

Erkey830

Fuck off!
Miembro del equipo
Moderador/a
Yo creo que no es rom hacking como tal esta en el limbo como anteriormente, por poner un ejemplo más usual... Qué es conducir? Antaño conducir era otra cosa muy diferente a la de hoy en dia con coches que hasta se aparcan solos WOW. Pero ambas cosas siguen siendo las misma pero de diferente forma. No hackeamos habitaciones :( hacemos file hacking XD

Pero por otra parte de lenguajes C y etc los que usan en binario DPE y CFRU que es C puro y duro tampoco seria rom hacking? Simplemente es una inyección
 

Juanjo

Hacker del pasado... Compilador del presente
Miembro insignia
Lo dejo claro:

¿Estamos modifcando una ROM original de Nintendo? => Sí
¿El producto final puede llamarse "un hackrom de Pokémon" o un ROM modificado? => Sí
¿Es hacer trampa el poder usar el código fuente del juego? => No!, de hecho hace el proceso de ROM Hacking más avanzado y complejo.

No nos autoengañemos con tecnicismos, seguimos haciendo ROM hacking, simplemente anteriormente hacíamos Hex editing (mal llamado binario) y hoy hacemos Assembly hacking. Muchos aquí están defendiendo que hacer decomp no es lo mismo que ROM Hacking [Hex Editing] pero omiten esa parte final.

Para pensar, señores
 

Cheve

MoonLover~
Miembro de honor
Lo único con lo que discrepo es con estar modificando una Rom original de Nintendo, no existe dicha ROM. Estamos modificando código que luego compilamos, por decisión propia, en una ROM.

Entraría en Rom Making, Si.
Entraría en Fan Game, por supuesto.
¿Es Hacking? Nah, ni ahí.

La definición de Juanjo sacada de la Wiki habla de compilar un código e inyectarlo en una ROM YA CREADA.
Ya sea pasándola de C a HEX, ASM, o lo que sea. Así que mas que defender su postura, la tira abajo.

Si lo llevamos a lo mas reducido posible creo que la diferencia está en si el código está ya compilado en una ROM o está "decompilado" para ser re-escrito.
PD: Gracias a todos por mantener un ambiente de respeto
 

Manurocker95

Doctorando en Ingeniería Biomédica & Game Dev
Miembro insignia
Estoy de acuerdo con todo lo que dice @Juanjo y permaban para el que esté en contra (?

Hablando en serio, estamos generando una ROM que en su estado inicial se comporta exactamente igual que un rom de gba de nintendo, podemos entrar en tecnicismos pero claramente estamos hackeando y modificando el contenido original de GF
no es el contenido original, es una recreación del contenido de GF. Si usaras el codigo fuente (el filtrado por ejemplo) para compilar la ROM sería diferente (en mi opinión).
 

Xiros

¡Creador de Pokémon Omega!
Miembro del equipo
Administrador
Staff
Miembro de honor
no es el contenido original, es una recreación del contenido de GF. Si usaras el codigo fuente (el filtrado por ejemplo) para compilar la ROM sería diferente (en mi opinión).
Legalmente es diferente si, pero la realidad es que si genera exactamente el mismo resultado, es lo mismo, esos tecnicismos de diferencia los veo más para abogados jaja
 

Micael_Alighieri

Emperador Kaktiácero
Redactor/a
Miembro de honor
Técnicamente has cogido un ROM como punto de referencia y le hiciste ingeniería inversa para modificarlo de forma más sólida, esto es, no partes de un trabajo hecho desde cero, así que técnicamente también sería ROM Hacking, sólo que más avanzado.
 
Arriba