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?