Você está na página 1de 7

Lección de Hacking #2: Teoría & práctica

¡Mirar de nuevo bien, ti! ¿Espero eres a ti todavía en el claro que 0x64 en es decimal? ¿Y por qué 10 son
justo 2? Bien...
Hoy empujaremos nuestro primer valor... *Dramatisch schau*
Lo que hacemos en ello en el esencial, debía ser claro a cada uno:
• Buscan el valor
• Transfieren el valor
¿Suena totalmente simplemente, hm? Así al paso 1... El valor encuentran... Abre una vez la ROM que
quieres picar. (Tomamos aquí a la simplicidad de Pokemon medios el zafiro, dado que Nintendo hacia los
tiempos aún no tan común a hackeres era como por ejemplo junto a Esmeralda)
¿Pienso, ahora tienes el problema que nunca has visto un Hexadezimal valor en tu juego? Podemos
cambiarlo. Haz clic después de la tienda la ROM una vez en "herramientas"> „Memory Viewer“.
Woooooow... Allí ellos son. Values... Te sabes en RAM que contemplas ahora, (¡llamamos desde ahora así!)
una vez más exactamente miran alrededor. Como observarás quizá, tienes en RAM el acceso de escribir libre
y puedes escribir totalmente a voluntad en eso. Sólo no muy tendrás éxito así si buscas un valor
determinado. Necesitamos un sistema con el cual encontramos la dirección justa un byte. Usamos Suchfunze
para ello. ¡Lo que ella hace en acaso, te explico, después que tú una vez en „Search for Cheats“ (Ninguna
publicidad! ^^) has hecho clic. La ventana siguiente se abre:

Hmja... Las secciones particulares:


• En la gran ventana arriba son indicados más tarde nuestros resultados de busca. Allá está ya como
miras, „Address“ (dirección) y „Value“ (valor)...
• „Search-Type“ (tipo de busca)
Aquí es definido si tú el valor de la dirección que buscas conoces o no.
• “Data Size“ (tamaño de datos)
Aquí es indicado cómo la cantidad de datos es de grande que buscamos. Para poder calcular acaso, tienes
que pensar que 8 bites tiene el valor máximo de 255, 16 bites el valor máximo de 65535 y 32 bites el
valor 4294967295 máximo.
• “Signed/Unsigned“
Hm... Aquí es definido de qué tipo números buscas. „Unsigned“ deja no hacer caso del signo, „Signed“
lo pone. La cosa con los signos viene más tarde sólo viiieeel... Luego hay todavía lo más usual, o sea,
"Hexadecimal". Con eso es definido que buscas después de Hex-Werten. (Signed y Unsigned buscan
Dec)
• “Update Values“ (valores actualizan)
Esta función facilita a veces la busca poco. Ella provoca que las direcciones, que son indicadas arriba
(más tarde) siempre inmediatamente el valor más actual indican. Es útil, así: Siempre activan...
• Dan “Enter Value“ (el valor)
Este campo puede ser usado sólo en el „valor famoso“. Aquí uno apunta el valor de la dirección que uno
busca.
• “Compare Type“ (tipo de comparación)
La función mayor y más importante. Aquí es definido como tu valor desconocido cambia. Si buscas
valores famosos, necesitarás normalmente „Equal“ Type. Pero explicitar una vez alrededor de ello
que pasa aquí, escribo una vez un ejemplo pequeño:
En el almacén está en algún lugar:
El 0x02024530 00 00 C5 78 SS. 3C 91 00 Institutos Federales de Empleo E7
0x0202453A SS. SS. 23 58 5A 35 44 BC 01 7A
¡NO! ¡No derrapan! ¡Son valores casualmente escogidos! No tienes que entender por qué
precisamente esto debe estar allí... Así es de causas cualquieras en nuestro Memory e inicializamos la
busca, mientras hacemos clic en "la salida". ¡Somos immernoch en busca de valores desconocidos!
Sea lo que sea... hacia el tiempo más tardío está luego en Memory (decimos una vez) lo Siguiendo:
El 0x02024530 00 00 AA 00 SS. SS. 9A 00 91 E7
0x0202453A SS. SS. 23 58 5C 35 00 00 01 7A
Ahora explico una vez qué direcciones son indicadas, jenachdem qué tipo de busca uno ha
determinado.
* Equal
0x02024530 00
0x02024531 00
0x02024534 SS.
0x02024537 00
0x02024539 E7
0x0202453A SS.
0x0202453B SS.
0x0202453C 23
0x0202453D 58
0x0202453F 35
0x02024542 01
0x02024543 7A
Aquí la busca escupiría estos valores. Los ambos Memory-Dumps son revisados y luego
todas las direcciones que correspondían a tu criterio de busca son indicadas. En nuestro caso
era "igual", por eso todas las direcciones cuyo valor no ha cambiado, eran indicadas. (Que no
sabe como vengo en las direcciones escritas: Simplemente los bytes cuenta uno por uno. La
dirección que está a principios de una línea, es primero existente en la línea los bytes. Figuran
naturalmente en el haz brujerías. ^^)

* Necesidad Equal
0x02024532 AA
0x02024533 00
0x02024535 SS.
0x02024536 9A
0x02024538 91
0x0202453E 5C
0x02024540 00
0x02024541 00
Así recibes todas las direcciones cuyo valor ha cambiado. (La necesidad Equal)

* Less Than
0x02024533 00
0x02024538 91
0x02024540 00
0x02024541 00
Ahora vienen todas las direcciones cuyo valor se ha puesto más pequeño. Tú usas esta
función si buscas, por ejemplo, la dirección de la energía contraria. Allí ves también sólo un
madero que se hace más pequeño si causas el daño al adversario.

* Less or Equal
0x02024530 00
0x02024531 00
0x02024533 00
0x02024534 SS.
0x02024537 00
0x02024538 91
0x02024539 E7
0x0202453A SS.
0x0202453B SS.
0x0202453C 23
0x0202453D 58
0x0202453F 35
0x02024540 00
0x02024541 00
0x02024542 01
0x02024543 7A
Esta vez entrega Suchfunze todos los valores que han seguido igual o se han puesto más
pequeño... Corresponde al signo matemático <=

* Greater Than
0x02024532 AA
0x02024535 SS.
0x02024536 9A
¿Que bien?? Todas las direcciones su valor se ha puesto mayor, aparecen.

* Greater or Equal
0x02024530 00
0x02024531 00
0x02024532 AA
0x02024534 SS.
0x02024537 00
0x02024535 SS.
0x02024536 9A
0x02024539 E7
0x0202453A SS.
0x0202453B SS.
0x0202453C 23
0x0202453D 58
0x0202453F 35
0x02024542 01
0x02024543 7A
Corresponde al signo matemático> = todos los valores que se han puesto mayor o han
seguido igual, son indicados.
Uff... listo con el explicar. *Figerrauchen*
Podemos encontrar con la función de busca todos los valores imaginables, mientras encontramos nuestro
valor desconocido que era trabajado por un operador famoso.
Habla: Si sabemos que el valor (energía) se ha hecho menos, podemos excluir todas las direcciones cuyos
valores más o han seguido igual. Si comenzamos a pesar de todo una vez... Buscamos un código que hace
nuestro Pokémon inmortal.
Einschub:
Jaja, es claro a mí que ahora de nuevo algunos hackeres de ROM vienen y pronuncian la reflexión
contra este código. Es también justo. Por RAM-Write este código es simplemente a buggy. (O para
citar una vez pika: "Miraría el código no como "equivocado". Él hace en el esencial lo que uno exige
de él, tiene sin embargo efectos secundarios y es, por eso, suboptimal y gana la mejora - pero
mientras todavía ninguna variante mejor está a la disposición, esta variante es pasable. ") le haría
también por ROM-Write. Aunque él debe ser utilizado mejor como ejemplo de principiante. Así:
Mowl & STFU y así on...
¿Is irgendwas?... No he dicho nada. Simplemente tranquilamente se quedan ^^ Sooo... Toma una vez
cualquier Pokemon que quieres hacer "inmortal", en el primer lugar de tu equipo. (Apuesto una vez vorraus
que puedes esquivar hasta cierto punto el juego „Pokémon“...) el deja ti en una lucha verwickeln y aprieta,
tan pronto como el Partido Comunista eran cargados [Strg + C] alrededor de Suchfunze llamar. Lo que
nosotros ponen es lo siguiente:
• ahorrar
Umrechnerei después del haz brujerías Alrededor de nosotros, buscamos en „Unsigned“ el
modo
• Nuestro valor es famoso, „Specific“
• Buscamos, uno... ¿Después de lo cual porque? A la respuesta marcan.
(Digno de 16 bites, dado que Pokemon pueden tener más de 255 Partidos Comunistas)
• Mi Zigzachs tiene precisamente de momento el 15Partido Comunista. Así introduzco en la línea abajo
„15“. Tomas tu valor.
• „Update Values“ is siempre bien... ^^
• „Compare del tipo“ es natural „equal“, inmediatamente (el Partido Comunista = 15)
Luego esto tiene aspecto así:

Aún un clic valiente en "la salida" y luego en „Search“ y ya es escaneado Memory todo después de tu valor.
Eventualmente se abre la ventana siguiente:

Esto sugiere simplemente y simplemente que demasiado muchas direcciones contienen tu valor. Tienes que
especificar más cerca weitersuchen y Offset. Con eso dejas deducir algún Partido Comunista. Tan pronto
como el valor es seguro, aprietas de nuevo [Strg + C] alrededor de la busca abrir. Dejas inmediatamente
todos los ajustes, a menos que introduces abajo el nuevo valor en la línea. Ahora junto a mí esto sería 9.
Después de un clic en „Search“ la cosa parece ya bien ordenada. (Al menos junto a mí...) los debían junto a
ti todavía demasiado muchas direcciones son indicados, repites el proceso simplemente varias veces. Al fin
debías tener restante todavía dos Offsets (=Adressen). Hm... 2 direcciones... Bien, mal... Elige por principio
de azar una de las direcciones. Haz clic después abajo en „Add Cheat“. Una ventana se abre.

• Address: Aquí está tu dirección en eso que quieres empujar


• Value: El valor en el cual Addresse arriba indicados deben ser traídos. He elegido por 900.
• Ελ Description: La descripción a tu código. Dentro de un cierto tiempo se no necesita más, pero al
principio la función totalmente es buena para guardar la vista general.
Haz clic dos veces en el OKEY y eres de nuevo en el juego. Y... sucede... ¡NADA! Por lo visto al menos...
¿Que ha pasado? ¿Nos tenemos "verhackt"? ¿Me he equivocado una vez de nuevo la mierda? ¿El juego
verarschen nos quiere???
[.]
Lo último es exacto. ^^ Allí Pokémon un juego bien lujoso es, los valores no todas las narices son
actualizados mucho tiempo. Si vuelves una vez brevemente en Pokemonmenü y de nuevo, constatarás que tu
Partido Comunista en a ti el valor mucho íntimo han subido. ¿De dónde sé por qué no has tomado por
casualidad equivocado de tus ambos Addressen? Totalmente simplemente: Los ambos Addressen contienen
el valor justo. Por qué esto es así, llegarás a saber todavía en Lesson más tardío.
¿Listo? ¿Fin bien, todo bien? No... Por desgracia no. Como el Partido Comunista se comportan muy
raramente con Cheat activado... Por ejemplo, cada ataque deduce exactamente tanto Partido Comunista
como puedes tener como máximo. Y si eres atacado, suben a veces tu Partido Comunista... Como miras ya,
el código no es muy fantástico. Es también la causa por qué este código no es tan factible en realidad, dado
que a veces (en golpes demasiado intensos) con tu Pokémon cosas raras ocurren. ¿Así alguien rechazaría
enseguida de nuevo un código, como que sabe que un código tan pequeño puede causar para la falta???? Por
eso la observación precedente sobre ROM-Hacking...
Sin embargo debías comer tu éxito. Abre una vez Cheatliste bajo „Cheat de la astucia“ en el menú alrededor
del problema cercano mirar. ^^ Allí está vuestro código. Pero él parece bastante raro. En acaso así:
XXXXXXXX:YYYY
El Action Replay no podría leer tal código. Sin embargo de hecho esto es Feature. Aquí está tan bastante
directo que el código hace. con esto el XXXXXXXX indica nuestra dirección y YYYY el valor que hemos
escrito. (Haz brujerías) un file *.txt atraca a ti y apunta allá tu código + la denominación. Lo necesitarás
todavía. Puh... ¿Mucho agotador, hm? Ahora, al menos, somos listos.
"Deberes":
¿Cómo era en realidad Offset que has encontrado arriba?
(0x02024AA8 es lo más usual, dado que se toma de siempre queridas direcciones que comienzan con 0x02.
Otro Offset es 0x030043C6)
Quizá tienes ahora una idea como encuentras el Partido Comunista contrario Offset. (¿Por busca
desconocida) Ello hacemos, si bien, sólo la hora cercana, pero quizá lo encuentras?
(0x03004626)

Por busca famosa puedes también encontrar Offset para AP. ¿Cómo esto es?
(0x02024AA4)

Você também pode gostar