Anda di halaman 1dari 6

Manual del investigador

para los que no saben investigar e innovar

Por Mariofan/Jorge n.n

Este manual esta dedicado a hackers intermedios/Expertos por lo que


si eres novato te recomiendo pasar de el...

Una breve introducción:

Actualmente en el mundo del rom hacking, se esta viviendo


un boom en reforma gráfica en la mayoría de los hacks.
Tanto en script como en hacks, los rom hackers han
destacado, sin embargo, son pocos los que destacan
innovando, la gran mayoría solo innova en algo que solo
sera utilizado por si mismos y algunos mas, otros muy
pocos, logran alcanzar fama entre los demás RH con
impresionantes descubrimientos.

El hecho actual es que la mayoría de los rom hackers


prefiere esperar a que los hackers veteranos investiguen y
descubran cosas. Es la ley, espera a que alguien haga el
trabajo y luego aprovechate de eso.

Debido a esto me e tomado la libertad de crear este manual


para todo aquel rom hacker que desee romper la barrera de
lo común e innovar. Debo hacer énfasis en que este manual
solo aporta las técnicas y herramientas necesarias para
hacer una buena investigación, mas no pretende dar
resultados de las mismas, por lo que es responsabilidad del
lector los descubrimientos hechos usando este manual.

El manual continua en la próxima hoja


Comenzando:

¿Que necesitaremos para realizar nuestra investigación?

-Tiempo(Muy importante)
-Paciencia(Muy difícil de conseguir)
-Ganas de hacerlo(Se podría decir que es lo mas importante)
-Lógica(Esta se logra practicando, así que no esperes que
sea fácil.)

Ahora si, los materiales o herramientas que vas a necesitar


para investigar son los siguientes:

-Editor Hex

-Visual boy advance(Si tu investigación utilizara rutinas


Asm te recomiendo conseguir el VBA-SDL que te permite ver
las rutinas ejecutadas mientras corres la rom en el
emulador)

-Herramientas especificas(Estas dependen de lo que vas a


investigar, por ejemplo, si lo que deseas hacer esta
relacionado con gráficos, pues una herramienta como unlz-
gba sera útil.)

-Algo para anotar(Como block de notas)

-Calculadora científica

-Roms de pokemon ruby/Fire red/Emerald(mientras mas tengas


mejor)

El manual continua en la próxima hoja


Investigadores, ¡¡Manos a la obra!!

1.Visualizando la idea

Este paso es muy importante ya que no puedes llevar algo a


cabo sin un fin especifico.

Plantéate que es lo que deseas hacer, detallalo, no importa


que suene a “MAESTRO DEL HEX” o a “IMPOSIBLE”, No importa,
en este paso solo piensa en lo que deseas crear o cambiar,
no le pares a las limitaciones que tienes.

1.1 Organización de la idea

Una vez detallada la idea en tu mente, debes organizarla,


ya que si no tu trabajo sera un completo desastre. Te
recomiendo abrir el bloc de notas(Venga no seas vago) y
anotar lo que deseas hacer en general, al principio.

Luego, mas abajo vas enumerando tus objetivos específicos


con respecto a tu investigación.

Ejemplo:

Mi objetivo general es:


Añadir un segundo mapamundi al pokemon ruby.

Mis objetivos específicos son:

-Rastrear el programa del mapa


-Estudiarlo
-Experimentar cambiando bytes
-Hacer mi tabla de sucesos.
-Crear mi segundo mapa
-Insertarlo
-Lograr que con una flag se logre cambiar del mapa original
al nuevo.
Con la organización de tu idea puedes comenzar a investigar
de forma mas cómoda, ya que si no te ordenas vas a comenzar
a chocarte con todos los muros que te encuentres, entonces
cuando piensas que ya terminaste, ¡Boom!, ¡Viene otra
cosa!.

1.2 Revisando la posibilidad de mis objetivos

Ahora que tienes tus objetivos escritos, ponles a un lado


su dificultad, cuan difícil crees que sera llevar a cabo
cada uno de ellos. Recuerda que es una dificultad por cada
objetivo, asi que mientras mas compleja sea tu idea mas
difícil va a ser llevarla a cabo.

¡Pero espera!, ¡Si algo te parece muy difícil no lo taches!


Recuerda, que las investigaciones tienen como objetivo
resolver una dificultad, así que al menos por ahora, sigue
pensando en tu idea tal y como la detallaste.

Ejemplo:

Mi objetivo general es:


Añadir un segundo mapamundi al pokemon ruby.

Mis objetivos específicos son:

-Rastrear el programa del mapa-----Dificultad 17/100


-Estudiarlo------------------------Dificultad 30/100
-Experimentar cambiando bytes------Dificultad 13/100
-Hacer mi tabla de sucesos.--------Dificultad 50/100
-Crear mi segundo mapa-------------Dificultad 5/100
-Insertarlo------------------------Dificultad 40/100
-Lograr que con una flag se logre cambiar del mapa original
al nuevo---------------------------Dificultad 85/100

Una vez hecho esto ya puedes comenzar a investigar y a


cumplir tus objetivos, para ello te recomiendo que utilizas
las siguientes técnicas y herramientas que te daré.
2.Herramientas(Logicas, no Hack-Tools)

2.1 El rastreo:

Consiste en observar algo que deseas investigar, de tal


forma que este te sirva como un punto de partida para
encontrar algo.

En español seria, usar algo que vez en el emulador como


buscador o_o

Se usa principalmente para hallar direcciones(Offsets) en


la rom, así como datos o bytes a los que se le desconoce su
ubicación.

La forma mas simple y estúpidamente fácil de hacer un


rastreo es obtener el offsets de algo que vez en el
emulador(Como un msgbox, un gráfico cargado, applys, etc) e
invertirlo para usarlo como punto de búsqueda en un editor
hex.

Ejemplo de un rastreo:

Quiero encontrar un script anclado a un lite para poder


modificarlo(Como el script de surf), para ello puedo hacer
las siguientes cosas:

-mirar uno de los textos del script y anotarlo(si es que


tiene msgbox).

-mirar un applymovement y anotar cada uno de sus


movimientos en código(Si se mueve arriba pongo 09, si es
abajo 08, etc).

Lo mas lógico es hacer lo mas fácil, es decir anotar el


texto que sale:

“He encontrado un huevo pokemon...”


Te recomiendo anotar la primera linea solamente, ya que
sino puedes tener problemas para rastrearlo.

Ahora abre tu editor hexadecimal, carga tu rom, y busca tu


texto.

No voy a explicar como se buscan textos por dos razones:

1.El proceso cambia con el editor Hex.


2.¡Venga!, ¡que con dar un rápido recorrido por tu editor
hex ya lo descubres!.

Si no sabes como(Lo cual dudo), pues has como los novatos y


usa el A-text, anota el offset que te da y pásalo a hex :S

Ahora, mete el texto tal y como lo anotaste en tu editor


hex y buscalo.

Cuando finalmente lo encuentres, lo que debes hacer es


anotar su offset(Desde el principio).