¿Cómo funciona exactamente el Twilight Hack?

Me ha entrado curiosidad por saber qué es lo que hace exactamente el Twilight Hack.

Sé que utiliza desbordamiento de pila producido al cargar en memoria un nombre más largo de lo previsto para Epona, pero, ¿qué efecto produce realmente dicho desbordamiento en el caso del Twilight Hack?

¿Se intentan cargar datos de memoria que deberían estar en la posición en la que se mete el nombre (no las primeras letras, si no los bytes extras que se añaden a continuación?
¿Está por tanto el código en el nombre? Si no es así, ¿en que parte de la partida está y cómo se consigue cargar?

¿O es que al ser más largo el nombre, provoca que los sucesivos Bytes añadidos a la pila estén desplazados todos, y al irse a ejecutar unos se ejecuten otros que produzcan el efecto deseado?

¿O existe alguna tarea supervisora (por software o hardware) que controle que la función cargar nombre no meta en la pila más bytes de los asignados y de ser así lanza una excepción? De ser así, ¿qué produce esta excepción que hace que se logre ejecutar el código deseado?
Yo no se explicartelo, pero como es un desbordamiento de buffer seguro que encuentras manuales muuuy detallados en cualquier pagina de Hacking decente, aunque sea antigua, no pongo enlace por ser SPAM, pero son faciles de googlear
En la Wikipedia hay un articulo bastante bueno: http://es.wikipedia.org/wiki/Buffer_overflow

Básicamente, el tema es que el juego reserva un espacio de memoria de un tamaño concreto, y si el texto es más largo que este tamaño, se empieza a sobrescribir la zona que viene después del espacio de memoria. Lógicamente, después de este espacio, también hay el código del programa, entonces se ponen los datos de forma que sobrescriba el programa (Zelda) con su código.
Yo tengo una pregunta relacionada (mas o menos...).

Hay alguna manera de copiar el contenido de nuestro save "normal" para dentro del Twilight Hack? Aunque sea solo para ahorrar el engorro de hacer backup del save normal y copiar el HT, para despues borrar el HT y copiar el backup del save normal...
En el antiguo se podia hacer en uno de los slots vacios, pero en el nuevo no lo sabremos hasta que no sea publico.
Entonces, ¿el código del la partida del Twilight Hack está en los Bytes extra del nombre de epona?

EDIT: Bueno, o aunque no sea el código, un puntero que vaya a ser tomado en cuenta cómo destino de la ejecución o algo así...

Patchanka escribió:ar el contenido de nuestro save "normal" para dentro del Twilight Hack? Aunque


Yo no me arriesgaría a tenerlo mezclado teniendo en cuenta que con la actualización te lo borra. Te quedarías sin el hack, pero también sin tu partida...
Tengo una pregunta, a ver si me la podéis resolver:

Cuando se ejecuta el Twilight Hack, deja de funcionar el juego. Bueno, pues si has ejecutado 20 aplicaciones distintas, aparece en el diario 20 veces el Zelda de duración 1 minuto.

Con esto... ¿podría Nintendo descubrir que hemos ejecutado homebrew?
TheFireRed escribió:Con esto... ¿podría Nintendo descubrir que hemos ejecutado homebrew?

Si, y de 1599 formas mas también. El propio homebrew channel también sale en el log.

A nintendo se la suda que, personalmente, utilices homebrew. Ellos van a intentar taparlo, no van a joderte la consola por usarlo.

El Twilight Hack funciona porque al desbordar el nombre de Epona, como es típico en los overflow de la pila, se sobreescribe la dirección de retorno de la subrutina. Cuando la rutina vuelve, podemos controlar que es el código que se ejecuta. Esta dirección se reemplaza por la dirección de una zona, parte del save en sí, que ha sido cargado en memoria, donde está el código. Este código carga el resto del código desde un archivo separado, apoyándose en las rutinas del SDK que forman parte del Zelda. A partir de aquí se carga un loader separado que ya es completamente independiente del Zelda.
avalancha escribió:Yo no me arriesgaría a tenerlo mezclado teniendo en cuenta que con la actualización te lo borra. Te quedarías sin el hack, pero también sin tu partida...


Hombre, yo no voy a ser tan tonto como para no tener un backup de mi save original... [sonrisa]

Hay algun hilo que explique el proceso de copia de un save para el TH original?
marcansoft escribió:A nintendo se la suda que, personalmente, utilices homebrew. Ellos van a intentar taparlo, no van a joderte la consola por usarlo.

Gracias por la aclaración. :D

Y ya las últimas preguntas. Joderme la consola no, pero... ¿banearme del juego online? Y... ¿es 100% seguro instalar el Homebrew Channel?
Mira, 100% seguro no hay casi nada en esta vida, pero el homebrew channel no te va a estropear la wii ni brickeartela ni nada por el estilo, no te causara daños. ¿Que si nintendo baneara del online? quien sabe. Pero yo por lo menos prefiero arriesgarme y disfrutar de la scene antes que vivir con miedo y no hacer las cosas "por si algun dia..."
Gracias. :)

De momento esperaré a ver cómo avanza la Scene. Y volveré a considerar si instalar el HC o no.
Y teniendo en cuenta cómo de avanzada está la Scene, creo que será difícil que algún día Nintendo logre banear 100% a los usuarios... ésto no es como X360. Tarde o temprano se podrían cambiar la MAC, las IDs, las keys, etc...
TheFireRed escribió:Gracias. :)

De momento esperaré a ver cómo avanza la Scene. Y volveré a considerar si instalar el HC o no.


Yo me preocuparia mas por el bigotudo enconor. Fijo que te piden derechos de imagen.

Menudo nombrecito que le pusieron al fpga ese. Enconor suena a almejonor.


No me estoy burlando de ti eres un futuro ben heck
13 respuestas