Glicer escribió:No entiendo muy bien a lo que te refieres con:
" lo que ha hecho bushing es hacer un hook a la salida de debug del Zelda TP (Wii)"
No creo que los juegos sea como los binarios de windows que los puedes compilar en modo debug y asi te sueltan iformacion por todos los costados mientras los depuras,.....
es simple, cuando desarrollan los juegos, usan un aparato que hace exactamente lo mismo que USB Gecko (EXI<->USB)
y una de las cosas que hacen los desarrollodares del juego (y las lib de ninty tambien)
es sacar info de debuggin a travez de un comando (por ponerle un nombre DBGPRINTF)
y por ej parte del output del Zelda seria:
...
<< RVL_SDK - EXI release build: Sep 7 2006 07:16:20 (0x4200_60422) >>
<< RVL_SDK - SI release build: Sep 7 2006 07:20:53 (0x4200_60422) >>
Revolution OS
Kernel built : Sep 21 2006 14:32:13
Console Type : Retail 33
Firmware : 9.2.4 (6/25/2007)
Memory 88 MB
MEM1 Arena : 0x80550c00 - 0x817e78e0
MEM2 Arena : 0x90000800 - 0x933e0000
<< RVL_SDK - OS release build: Sep 21 2006 14:32:13 (0x4200_60422) >>
<< RVL_SDK - SC release build: Sep 7 2006 07:22:06 (0x4200_60422) >>
<< RVL_SDK - NAND release build: Sep 22 2006 02:01:36 (0x4200_60422) >>
<< RVL_SDK - DVD release build: Sep 28 2006 18:57:56 (0x4200_60422) >>
original arenaLo = 0x90000800 arenaHi = 0x933e0000
original arenaLo = 0x80550c18 arenaHi = 0x817e78e0
ARInit : Dummy ARAM enabled (RVL), area 0x90000000 -> 0x91100000 (size 0x1100000)
<< RVL_SDK - VI release build: Sep 26 2006 17:27:57 (0x4200_60422) >>
<< RVL_SDK - GX release build: Sep 7 2006 18:30:54 (0x4200_60422) >>
<< RVL_SDK - PAD release build: Sep 7 2006 07:20:50 (0x4200_60422) >>
...
entonces bushing modifico el binario del zelda que tiene un monton de esos DBGPRINTF y redirecciono (y habilito) la salida origianal (el aparato de las debug) al USBGecko.
en otras palabras usa un dol de Zelda TP para Wii altamente modificado para buscar un exploit reproducible en todas las consolas, que viene hacer el mismo metodo que los researches de soft de PC usan para buscar vulnerabilidades.
Glicer escribió: y un debugger basicamente lo que hace es meter int`s para parar la ejecucion e ir mirando los estados de los registros, stack, etc etc por eso no acabo de entender a que te refieres con lo de un hook a la salida de debug..
eso tambien lo hace el debugger del USB Gecko.