You are on page 1of 9

Lección de Hacking #5: AR - Necesidad complicada

¡La bienvenida atrás, en todos ellos están todavía presentes! ¿Que está hoy en el orden del día?

1. Conocemos un nuevo formato de código


2. Repasamos una vez más totalmente tranquilamente toda la práctica, mientras hacemos un código

Okaaay. Para dar un pinchazo alentado fácilmente raramente al todo todavía, no cojo ahora con el TOP 2 (¿llama la
atención que anotamos por el momento a actas en la escuela? ;-)). Trabajamos con VBA 1/7/2, un Smaragd-Read-
Only-Memory (ROM) ungepatchten lo más posible y nuestros conocimientos adquiridos hasta ahora. Además,
necesitamos el Anti-Data-Moving-Application-Code. (Anti-DMA ^^)
En primer lugar cargáis su vuestra esmeralda (La edición alemana) en Visual el chico Advance. Y luego los
problemas comienzan también ya. No proyecto de hacer ningún de estos códigos de estándar aburridos, sino hoy
intentamos una vez que lo más interesante: „En todas partes Van en avión“ el código *gewinnend lächelt*
Dado que para „Vamos en avión en todas partes“ el código la capacidad moscas necesitan, debíamos tener una
posición de juego dónde esto es ya posible. Si aún no debíais haber jugado hasta allí, aquí doy una vez
rápidamente un rumbo de accidente en materia de la administración de posición de juego.

* Al principio fabricáis Savegame. Ahora he tomado simplemente una vez un adecuado del Savegamesammlung
del pokemonexperte.de. Gracias a a los Pokemonexperte.de usuarios Rekkuzza, ders hasta allí ha jugado y
glumada, para Hosten. POKEMONRSpeicher966701.xps (64 KB)
* Después ello hemos creado, tenemos que modificar todavía ligeramente el fichero. Todos los usuarios Windows
2000 tienen que hacer desaparecer gradualmente todavía bajo Explorer> del extra> opciones de clasificador> la
opinión> el gancho pequeño en la "terminación de nombre de fichero en ficheros famosos" quitan el gancho
pequeño. (La imagen gibts aquí) Todos los XP usuarios Windows quitan el gancho pequeño bajo la dirección de
sistema> opciones de clasificador> la opinión> "la terminación de nombre de fichero en ficheros famosos hacen
desaparecer gradualmente". (todos los Win98 usuarios: Tenéis la suerte que uno era tan razonable Anno en 1998
todavía y aún no conocía uno de los mayores Trojaner las posibilidades: El hacer desaparecer gradualmente de
ampliaciones de nombre de fichero. Aquí nada tiene que ser cambiado de lugar. ¡Los suyas rockt! ^^) Después
ponéis nombre el vuestro precisamente del Internet Save cargados alrededor de. Con aire de importancia está
presente que el fichero recibe más tarde la terminación *.sps. La posición de juego desde arriba wördet vosotros en
"POKEMONESpeicher-816700.sps" umbenennen.
* Ahora cambiáis en Visual el chico Advance (¡con el juego cargado!) y si la "importación"> "Gameshark
Snapshot" hace clic en "el file">. Luego allá elegís vuestro file exactamente umbenanntes. VBA pregunta todavía
poco después la afirmación. Hace clic en "sí" y cargáis el juego "ingame". Listo.

Ahora tenemos que encender Anti-DMA. Para la esmeralda alemana tengo preparado por casualidad. ^^

Anti-DMA
D8BAE4D9 4864DCE5
DD5F41DA 90B02762

Si "Cheat list..."> "Gameshark" activa éste bajo "Cheats"> en el campo inferior. Bien así. ¡Let’s get hacking!

Al principio de un código la idea y la reflexión está siempre después de la ejecución. "Si queremos hacer un código
con el cual podemos ir en avión en todas partes, luego tenemos que encontrar la dirección en el almacén que saca
si podemos volar en un lugar o no. Para encontrar esta dirección, tenemos que variar el valor guardado allá." Nos
debemos con superioridad dónde porque el valor no es cambiado entre los "puede de moscas" y "el sabe moscas".
¿Bueno?
¡EXACTAMENTE! ¡En el Stadt-Flug-Anwahl-Bildschirm! ¡Muy bien! ^^
Buscamos a nosotros Pokemon que sabe a moscas y van en la pantalla de selección. Con esto el cursor (El
cuadrilátero pequeño) es colocado ersteinmal sobre un lugar en el cual no podemos volar. (La imagen) el Aprieta
ahora [STRG + C] alrededor de Cheatsuche activar. Usa indicaciones siguientes:
Suponemos que Pointer que saca, si podemos volar o no, es un 8 bites Valü. Teóricamente él tendría que ser en
realidad sólo 0 y 1, Para moscas y no moscas. Quizá...
Además, buscamos según el estándar en la Hexadecimal moda y hemos activado "Update Values" (no
necesariamente, la visión general aumenta sin embargo). Buscamos ante todo Equal a un valor desconocido.
Hace clic en "la salida" y en "Search" y recibe vuestro primer problema. Una ventana debía aparecer:

¡OH MI DIOS!!! ¡TODO ES ROTO!!! [...] *hyperventilier*


Naja... Tan mal isses no. Dado que somos poderosos todos del inglés, traducimos una vez: "La busca entregaba
294912 tiros certeros. Por favor, mejor limitan." Okey. Allí está sólo que hemos encontrado todavía demasiado
muchos resultados y las posibilidades para Offset que corresponde a nuestros criterios. Bien. Si cambiamos a pesar
de todo una vez atrás en el juego y cambian nuestro valor. Ponemos el cursor a alguna ciudad a la cual podemos
volar.
Atrás en el Cheat menú de busca y allá con superioridad nosotros una vez más exactamente. Hemos cambiado
ahora Offset que queremos encontrar. Bien. Ahora pues apostamos de "Equal" a "Not Equal" a nuestro valor
precedente, dado que SABRÍAMOS ahora a moscas. Más tarde sentamos un clic valiente en "Search" bien de nuevo
comunicado que immernoch demasiado muchas posibilidades son abiertas. (ahora junto a mí esto es, sin embargo,
nurnoch en 3806) Esto puede ser distinto junto a vosotros, sin embargo no debe. Hasta si el aviso de error no
aparece, y habéis encontrado bastante Offsets ya pocos, este por favor no hace caso en primer lugar y cierra la
función de busca mediante "el OKEY".
Ahora en el juego debíamos hacer algo especial. Podríamos colocar naturalmente simplemente el cursor de nuevo
sobre un lugar al cual no podemos volar. Sin embargo os aconsejaría poner el cursor en una otra ciudad. ¿Por qué?
¡Totalmente simplemente! Porque podemos buscar ahora "Equal", y esto sugiere que todos los valores existentes
en RAM, que cambian continuamente (por ejemplo, el tiempo) nichtmehr entran en consideración y la región de
tiro certero es reducida un poco. Así... En una otra ciudad

O ¿debía decir el pueblo? ^^ Maravillosamente... ¡Suchfunze, venimos! Buscamos esta vez "Equal" y hacemos clic
al Abwechslung una vez en "Search". ¡Hey! ¡La ventana viene nichtmehr! (Ojalá... Si a pesar de todo, luego esto es
auchnicht tan mal...) ahora tengo, por ejemplo, nurnoch 252 resultados posibles y muy es bueno schonmal.
Naturalmente era enfadado si se tendría que probar todavía todas las 252 piezas, ahora así colocamos el cursor de
nuevo en Nirvana.

Atrás en la busca buscamos de nuevo "Not Equal" porque nosotros ahora nichtmehr moscas saben. *klick* Wäh...
No mucho puesto mejor. Aún tengo 199 resultados posibles. Cómo con irritación. Ahora así debemos en la
manzana ácida beißen y comienzan a nosotros los resultados mirar más cerca. Generalmente debe ser dicho en
esto que se debía probar siempre en primer lugar RAM con 0x02 comenzando, nunca comienzan con RAM cuya
dirección con 0x03 comienza. Además, un tipo de Pointer debía realizar quizá realmente el „1-Und-0-Schema“. Los
valores entran en consideración muy bien para nosotros también ersteinmal, ahora en „no vuelan“ en "0" están. Si
comprendo ahora mis resultados a mí y tengo en cuenta que las primeras ambas cifras de la dirección 02 son y
que el valor de la dirección selbigen ahora 0x0 (¿0x está para el haz brujerías... do you remember?) asciende, sólo
un resultado se queda conmigo:

0x0200001a

Debíamos revisarlo a pesar de todo una vez. Si "Memory Viewer" hace clic en "herramientas">. Dais allá luego
vuestra dirección encontrada precisamente y hace clic en "Go".
Ahora miramos una vez como el valor se comporta al juego. (El gancho en "¡Automatic de la actualización" en
Mem-Viewer tiene que estar puesto!) Las imágenes siguientes dicen mucho, pienso.
Nos encontramos en una pieza que está fuera de la tarjeta y a que no podemos volar. El valor es como hemos
supuesto 0.
Ahora somos dentro de la tarjeta, pueden volar sin embargo nochnicht. El valor es 1, y detrás algunas coordenadas
eran puestas por lo visto.
Ahora podemos volar. El valor es 2. ¡Muy bien!
Escribimos en la dirección el valor 2 y nos ocupamos así de lo que el juego piensa, podríamos volar siempre.
Ahora por favor hacéis el VBA código perteneciente. Indicaciones por ello son famosas, nälich los
siguientes:
8 bites Constant Write
XXXXXXXX:YY

16 bites Constant Write


XXXXXXXX:YYYY

32 bites Constant Write


XXXXXXXX:YYYYYYYY
Para la solución marcan: (0200001A:02)

Dais el código uno en Cheatmenü bajo "el código" y se alegra por el efecto. El problema es que podemos
volar ahora, sin embargo, también en lugares para los cuales hay garkeine Maps. Si se ello se despeña de
modo intentado la ROM o Gameboy. Lo repararemos todavía a una hora más tardía.
Ahora esto se pone bien interesante. Haremos un AR código. Con eso necesitáis en realidad sólo ARCrypt y
vuestro VBA código de formato para „En todas partes Van en avión“. El formato para AR es lo siguiente:
8 bites Constant Write
XXXXXXXX EL YYYYYYYY

16 bites Constant Write


XXXXXXXX EL YYYYYYYY

32 bites Constant Write


XXXXXXXX EL YYYYYYYY

X = Primer Hex Word cifrado


Y = Segundo Hex Word cifrado
Totalmente muy bien. Tenemos que cifrar que. Y exactamente con eso usamos ARCrypt. (Era la parte que he
dado de buscar en la primera hora como deberes, ¿recordáis?) Vuestro ARCrypt debía tener aspecto (en
acaso) así:

Handzuhaben es totalmente fácil la cosa. Nota a vosotros simplemente "enlaces solamente del derecho
fuera" ;-) Al principio tomamos nuestro código (0200001A:02) y le copian en el lado engañoso de ARCrypt.
Era también ya la parte fácil. Ahora tiene que ser cambiado segundo con el tercer número. Ahora está a la
izquierda: (0020001A:02)
A continuación tenemos que comunicar a AR qué tipo código tenemos aquí. Ahora con eso ambas las cifras
primeras con 0x00 tienen que ser transferidas. Por suerte 00 está ya en las primeras ambas posiciones, aquí
así tenemos que hacer garnichts.
¿Por qué 00? 00 saca que se trata en nuestro código de un 8 bites Constant Write. 02 está por 16 bites y 04
para 32 bites; con eso sin embargo hacia un momento más tardío más.
Ahora tenemos que rellenar todavía el valor con tan muchos ceros que para el valor en total 8 lugares están.
Después tenéis que quitar todavía los dos puntos. ¿Cómo el código tiene aspecto ahora?
Para la solución marcan: (0020001A 00000002)
Bien. ¡Aún un clic valiente corto en „Proceed“ (atiende a lo que a la izquierda "RAW" y a la derecha
"ARV3" está marcado) y schwuuups! A la derecha está el AR código listo.
Para la solución marcan: (E33E8523 CC325F6D)

¡Listo! ¡Fijo y Listo! Los Hacking Lesson cercanos vendrá...


Mucha diversión probando. ;-)