¿Que Necesitamos??
1.- Un Cerebro que Funcione y Piense (Nota: NO hay enlace la descargar esto)
2.- Visor de Memoria
hasteds (Descargalo Aquí)
3.-Buscador de Punteros
Easy Code Pointer Finder (Descargalo Aquí)
NOTAS ANTES DE COMENZAR:
-SI ERES ALGUIEN QUE SE DEDICA A COPIAR TRUCOS DE OTRAS PERSONAS Y DECIR QUE SON TUYOS, NO LEAS ESTA GUÍA
-SI NO SABES USAR UN COMPUTADOR NO LEAS ESTA GUÍA
-SI VAS A HACER PREGUNTAS ESTÚPIDAS SIN HABER LEIDO ANTES, NI SIQUIERA POSTEES
-SI QUIERES COPIAR ESTA GUÍA EN OTRA WEB SOLO TE PIDO ME COLOQUES LOS CRÉDITOS
(NO HAGAS COMO UN TAL ELEVEN QUE SE HA DEDICADO A COPIAR MIS GUIAS, MIS USERBAR, MI AVATAR, MI FORMA DE SER, HASTA DE MI FORMA DE CAMINAR* Y DISTRIBUIRLAS EN OTROS SITIOS WEB SIN MI CONSENTIMIENTO Y PARA PEOR DICIENDO QUE LAS HIZO EL
NO SEAS LAMMER! PERDEDOR!)
*Hablando Irónicamente!
Comenzando
Primero que nada quiero explicarles brevemente de que se trata hasteds, simplemente es un programa que visualiza la Memoria de un juego DS cargado en un Emulador
El Soft Original fue desarrollado por Imaha486 y está en Japonés e Inglés, yo le hice algunas modificaciones al programa y lo traduje al español para que pudiesen usarlo cómodamente y además se puede usar con los emuladores desmume, ideas, needs, no$gba, neonds
En Esta Guía explicare como Crear trucos "simples", ojo: digo simples porque más adelante de esta guía se le irán añadiendo complejidad a los trucos, pero por ahora solo explicaré los más sencillos de crear
Iniciaré explicando algunos concejos que tienen que tener "MUY MUY CLAROS" a la hora de empezar a crear trucos:
1.-No necesitan tener ultra conocimientos, solo pensar, les estoy facilitando todo de la manera más fácil posible (RECOMENDADA PARA NOVATOS) para poder lograrlo, ya que hay métodos manuales mucho más complejos para alguien que está empezando, la finalidad de esta guía es que aprendan y con un poco de curiosidad se interesen por la programación entre otras cosas
2.-Necesitamos saber convertir de decimal a hexadecimal y viceversa, casi todos los códigos en memoria estan en Hexadecimal, pero en el juego se muestran normalmente en decimal (Los que no sepan convertir usen un convertidor como Base Converter que tiene el Hex WorkShop, solo instalen el Hex WorkShop o busquen un convertidor en alguna web)
Buscar Trucos usando no$gba
Para buscar trucos en no$gba haremos lo siguiente, una vez tengamos el hasteds lo ejecutamos y en la parte inferior marcamos la casilla "Usar ROM Encriptado no$gba" con esto estaremos visualizando la memoria de forma correcta para buscar codigo usando el emulador no$gba
 |
Se ha modificado el tamaño de esta imagen. Haz click en esta barra para verla a tamaño completo. La imagen original tiene unas medidas de 707x537. |
NOTA: la casilla deben marcarla obligatoriamente si van a usar no$gba para buscar códigos, si van a usar otro emulador no la seleccionen
Ahora abrimos el emulador cargamos el juego que queramos, vamos al hasteds y presionamos el menu Capturar Emulador y ahora en el juego necesitamos saber qué queremos cambiar: número de vidas, puntos, dinero, etc.. una de las maneras de ubicar codigos en memoria es jugar normalmente el juego y si queremos tener más vidas vemos cuál es el monto que tenemos en el juego, por ejemplo iniciamos con 3 vidas, suponiendo esto nos vamos a Plataforma de búsqueda en hasteds y escribimos en hexadecimal el valor de las vidas, en este caso 3 es 03 y hacemos click en el botón Buscar parámetro, con esto buscaremos en la memoria todos los valores que sean 3, ahora seguimos jugando en el emulador y perdemos una vida (o agarramos una) y como el valor a cambiado, buscamos ahora el nuevo valor en este caso supongamos que perdimos una vida,
entonces si teniamos al iniciar 3 vidas al perder 1 nos quedan 2 vidas, entonces escribimos en hexadecimal 2 y damos click en Buscar parámetro, con esta segunda busqueda veremos que los numeros de resultados fueron disminuyendo, podemos seguir repitiendo el proceso una y otra vez hasta que tengamos minimo 1 resultado con lo cual estaremos totalmente seguros en que dirección de memoria se encuentra el valor que queremos cambiar.
Como dije: si se encuentran resultados se muestra la lista en el cuadro resultados, hacemos click en una de estas direcciones y esto nos mostrará exactamente el lugar en la memoria donde esta el valor, con esto ya tenemos practicamente todo el trabajo hecho!
Ahora anotamos esa direccion de la lista de resultados donde apareció el valor y hacemos lo siguiente:
Para Action replay
la dirección se coloca en la izquierda separada con un espacio y luego el valor que queremos modificar en este formato:
XYYYYYYY ZZZZZZZZ
Y es la dirección
z es el valor, si el valor es menor de 8 dígitos (32bits) rellenamos con cero (por ejemplo 00000003 es 3)
en X se coloca 2 si el valor es menor o igual a 255 osea 0XFF (Nota 0x significa hexadecimal, es decir, si ven en esta guía escrito 0xFF es igual que escribir "FF en hexadecimal" con eso solo digo que el valor está en hexadecimal)
en X se coloca 1 si el valor es menor o igual a 65535 osea 0xFFFF, pero mayor que 255 (0xFF)
en X se coloca 0 si el valor es menor o igual a 16777215 Osea 0xFFFFFFFF, pero mayor que 65535 (0xFFFF)
En otras palabras
llamaremos los valores de 8bits cuando el valor que queremos modificar en hexadecimal tenga 1 ó 2 dígitos
llamaremos los valores de 16bits cuando el valor que queremos modificar en hexadecimal tenga 3 ó 4 dígitos
llamaremos los valores de 32bits cuando el valor que queremos modificar en hexadecimal tenga 5, 6, 7 ó 8 dígitos
Mucho más Simple:
cuando el valor que queremos modificar en hexadecimal tenga 2 digitos en X se coloca 2
cuando el valor que queremos modificar en hexadecimal tenga 4 digitos en X se coloca 1
cuando el valor que queremos modificar en hexadecimal tenga 8 digitos en X se coloca 0
si el valor tiene 1 digito se le agrega un 0 y se cuenta como 2
si el valor tiene 3 digitos se le agrega un 0 y se cuenta como 4
si el valor tiene 5 digitos se le agregan tres 0 y se cuenta como 8
si el valor tiene 6 digitos se le agregan dos 0 y se cuenta como 8
si el valor tiene 7 digitos se le agregan un 0 y se cuenta como 8
veamoslo en un ejemplo
supongamos que hemos encontrado en la dirección
020000187 el valor 1 (es decir que es el valor actual de las vidas que tenemos en el juego) y queremos crear el truco para tener 99 vidas
entonces creamos el código así:
220000187 00000063
con esto estamos modificando en memoria el valor por 0x63 que es 99, y si notan el codigo inicia con un 2 eso es porque 0x64 tiene 2 dígitos
pero suponiendo que el juego soporta más vidas y queremos ponerle 999 vidas y no 99 entonces el código quedaría asi:
120000187 000003E7
con esto estamos modificando en memoria el valor por 0x03E7 que es 999, y si notan el codigo inicia con un 1 eso es porque 0x03E7 tiene 4 dígitos
pero AÚN MÁS suponiendo que el juego soporta MUCHAS más vidas y queremos ponerle 99999999 vidas y no 999 entonces el código quedaría asi:
020000187 05F5E0FF
con esto estamos modificando en memoria el valor por 0x05F5E0FF que es 99999999, y si notan el codigo inicia con un 0 eso es porque 0x05F5E0FF tiene 4 dígitos
Es fácil no??
NOTA: tengan en cuenta que si el valor en hexadecimal tiene 3, 5, 6, ó 7 dígitos siempre se rellena con ceros y al inicio (Es decir X en el formato) se coloca el siguiente valor que le corresponda
Por Ejemplo, quiero ponerle 99999 vidas osea 0x01869F (si vemos bien el valor en hexadecimal tiene 6 digitos) entonces el codigo quedaria asi:
020000187 0001869F
OTRA COSA QUE DEBEN TENER EN CUENTA SOLO PARA BUSCAR EN HASTEDS:
cuando busquen codigos deben escribirlos al reves y en hexadecimal, por ejemplo: en un juego cualquiera, tenemos 270 de vitalidad
convertimos ese 270 en hexadecimal y sería 0x010E para buscar la dirección no podemos escribir en el buscador 270, porque no lo va a encontrar o va a encontrar otros valores que no le corresponden a la vitalidad, si escribimos 010E en el buscador tampoco nos va a encontrar lo que queremos, necesitamos escribir el valor eh hexadecimal pero invertido, tomando siempre agrupaciones de dos digitos, por ejmeplo:
valor decimal - Valor Hexadecimal - Valor Invertido
270 010E 0E01
Cuando son solo dos dígitos en hexadecimal NO SE DEBE INVERTIR se deja tal cual
ESTO DE INVERTIR EL CÓDIGO ES SOLO PARA "BUSCAR" VALORES EN HASTEDS, NO PARA MODIFICAR EL VALOR, CUANDO SE CREA EL TRUCO DEBE COLOCARSE NORMAL EN HEXADECIMAL TAL CUAL, LEAN BIEN LOS EJEMPLOS
NOTA IMPORTANTE:
LA GRAN MAYORÍA DE LOS JUEGOS USAN PUNTEROS PARA CAMBIAR LOS VALORES, POR ESTO CADA VEZ QUE ENCONTREMOS UN CODIGO Y CERREMOS EL EMULADOR, CAMBIEMOS DE ESCENARIO Y/O JUGEMOS OTRA PARTIDA LOS CODIGOS CAMBIARÁN DE LUGAR Y NO FUNCIONARAN LOS QUE HAYAMOS CREADO, PARA ESTE TIPO DE JUEGO HAY OTRA MANERA DE BUSCAR LOS VALORES LEAN MÁS ADELANTE
PARA ESTAR SEGUROS DE QUE SUS CODIGOS FUNCIONAN, CON LO QUE HAN APRENDIDO HASTA AHORA, CREEN EL CODIGO, LUEGO CIERREN EL EMULADOR Y VUELVANLO A ABRIR, Ó BORREN LA PARTIDA Y CREEN UNA NUEVA Ó PASEN AL SIGUIENTE ESCENARIO DEL JUEGO Y PRUEBEN NUEVAMENTE EL CÓDIGO QUE YA HAN SACADO, SI EL CÓDIGO SIGUE FUNCIONANDO NO HAY PROBLEMAS! PERO SI NO FUNCIONA ES POR LOS PUNTEROS Y PARA ESO ES OTRO PROCEDIMIENTO QUE EXPLICARÉ A CONTINUACIÓN:
PUNTEROS! (Segunda parte del tutorial)
Para explicarlo de forma sencilla (que lo entiendan sin complicación aunque no importa mucho), los punteros son un lugar en la memoria que guarda datos numericos en forma de texto, estos valores se van escribiendo en distintos lugares de la memoria y hace que cambien las direcciones donde estan los trucos que hemos encontrado... (no se ofendan lo expertos por este concepto anormal de punteros, esta guía es para novatos)
para esta segunda parte vamos a necesitar el programa Easy Code Pointer Finder para que de forma sencilla y sin cpmplicarse mucho puedan buscar los punteros y crear los códigos fácilmente
Descarga Aquí Easy Code pointer Finder
la forma de utilizarlo es sencilla, primero que nada necesitamos encontrar nuestro truco normal de la forma que explique anteriormente, una vez que tengamos la dirección de nuestro truco, nos vamos al hasteds y hacemos click en el menu Guardar en archivo
y le colocamos un nombre de archivo cualquiera podría ser "Dump1" de modo que tenemos un archivo 1 y la dirección de donde aparcio nuestro truco
luego cerramos el emulador y lo volvemos a abrir o pasamos de nivel en el juego ó creamos una nueva partida, esto con la finalidad de que ubiquemos nuevamente la nueva direccion donde ha cambiado el código y ya teniendo la dirección volvemos a guardar en archivo en el hasted colocándole por ejemplo como nombre de archivo Dump2
Para que vayamos entendiendo todo hasta ahora lo hare con un ejemplo:
digamos que hemos encontrado una dirección para cambiar el numero de vidas del juego y esta sea 021D623B entonces guardamos el archivo y le ponemos como nombre Dump1
Luego cerramos el emulador y lo abrimos nuevamente, presionamos
Capturar emulador nuevamente en el hasteds (esto deben hacerlo cada vez que cierran y abren el emulador o cuando cambian de juego)
y buscamos nuevamente la dirección para cambiar el número de vidas, pero nos damos cuenta de que la dirección a cambiado a 021E89AB entonces guardamos otro archivo con el hasteds y le colocamos como nombre Dump2
Ahora aqui viene lo importante:
Ahora Abrimos el Easy Code Pointer Finder y nos vamos a la pestaña
Búsqueda de punteros y hacemos click en el botón "Primer archivo" y elegimos el primer archivo que guardamos en este caso el archivo dump1 y en donde dice primera dirección colocamos la primera dirección que encontramos en este caso 021D623B, luego hacemos click en el boton "Segundo archivo" y elegimos el asegundo archivo en este caso Dump2 y colocamosn en segunda dirección la segunda dirección a donde cambio en este caso 021E89AB y ahora hacemos click en buscar!
esto nos encontrará automáticamente el puntero que maneja esa direción y asi podremos crear nuestro código sin la preocupación de que cambie de dirección
Aparecerán varios o un sólo resultados teniendo este formato
Puntero:valor del puntero
en este caso los resultados fueron:
021034F0:021D23E4
02103578:021D2668
etc...
etc...
En los resultados, el programa automáticamente eligirá un puntero y lo añadirá en la pestaña
Convertir en Action Replay DS
Ahora para crear el código nos vamos a la pestaña
Convertir en Action Replay DS y le añadiremos el valor que queremos que nos cambie el truco, por ejemplo supongamos que como la dirección era para modificar el numero de vidas queremos tener en el juego 99 vidas, entonces le colocamos el valor en hexadeximal que es 0x63 del lado derecho de la dirección y luego hacemos click en el boton convertir
en los resultados nos creará automáticamente el truco Action Replay que tendremos listo para usar!
NOTA: en algunos casos el programa no encuentra el código correcto en esos casos debemos buscarlo manualmente con el programa, de la siguiente manera:
nos vamos a la pestaña
Búsqueda de punteros y elegimos una de las lineas del cuadro de resultados por ejemplo: tomamos la primera linea
que en este caso es 021034F0:021D23E4 ahora nos vamos a la pestaña
Convertir en Action Replay DS y en donde dice
Primera dirección puntero colocamos lo que esta del lado izquierdo del punto es decir de
021034F0:021D23E4 tomamos solo esa dirección del lado izquierdo 021034F0 y lo reemplazamos por lo que tenga en donde dice
Primera dirección puntero de la pestaña Convertir en Action replay DS, luego en donde dice Primer Valor Puntero colocamos la segunda parte o lo que está del lado derecho del punto es decir de 021034F0:
021D23E4 tomamos solo el lado derecho 021D23E4 y lo reemplazamos por lo que tenga donde dice
Primer Valor Puntero de la pestaña Convertir en Action replay DS
Luego hacemos click en Convertir y esto nos dará otro truco en el cuadro de resultado de la pestaña Convertir en Action replay DS y que tendremos listo para usar!!
Bueno esto es todo por hoy, nos vemos en la proxima parte donde explicaré comandos avanzados para usar en Action Replay, con lo que han aprendido hasta ahora serán capacez de crear correctamente códigos válidos Action replay para usar con el emulador o con la DS