Control de usuario
Patrocinadores
Estadísticas
Miembros:
145.896
Online:
1.545
Hilos:
827.166
Mensajes:
11.259.687
Stats

Índice de foros Wii Scene

Desvelado el bug del trucha

Homebrew, hacks, exploits y el resto de la scene de Wii

Moderadores: CyBeR PeReZ, Flash78

klausus
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 902
Registrado: 20 Abr 2006
Ubicación: valencia

Mensajepor klausus 30 Mar 2008 06:52

Waninkoko escribió:Os voy a contar mi metodo XD

La Wii desencripta un hash SHA1 contenido en la firma y calcula otro hash SHA1 desde el campo "issuer" del TMD hasta el final del TMD.

Si ambos hashes coinciden, el disco esta bien firmado.
El caso es conseguir que ambos hashes comienzen por 0x00

El metodo mas sencillo es cambiar los 256 bytes de la firma por ceros, y modificar el campo "reserved" del TMD hasta que el hash SHA1 que se hace sobre el TMD comienze por 0x00.


Una pequeña pregunta...
El campo ISSUER cual es?? Esque estado mirando en el programers notedpad y no me aparace el NUL si (0x00) pero el ISSUER no... tal vez se una pregunta noob pero esque toy enpezando y me gustaria hacer pruebas n_n

Querria saber como localizo ese campo por ejemplo en el programers notedpad o cualquier editor hexadecimal para de ahi en adelante ponerlo todo a NUL (0x00) mas que nada por probar a hacerlo manualmente ^o^

GameZelda
Avatar de usuario
Adicto
 
Mensajes: 274
Registrado: 02 Mar 2007

Mensajepor GameZelda 30 Mar 2008 08:48

klausus escribió:
Una pequeña pregunta...
El campo ISSUER cual es?? Esque estado mirando en el programers notedpad y no me aparace el NUL si (0x00) pero el ISSUER no... tal vez se una pregunta noob pero esque toy enpezando y me gustaria hacer pruebas n_n

Querria saber como localizo ese campo por ejemplo en el programers notedpad o cualquier editor hexadecimal para de ahi en adelante ponerlo todo a NUL (0x00) mas que nada por probar a hacerlo manualmente ^o^


Pues simplemente tienes que ir "pasando" tipos desde el principio.

u32 sig_type; --> 4 bytes
u8 sig[256]; --> 256 bytes
u8 fill1[60]; --> 60 bytes
-----------------------------
TOTAL --> 320 bytes

Y luego ya solo es llegar allí. La mayoría de editores hex. incluyen una opción para saltar a un "offset" (posición) de archivo. Así que vas allí, y pones 320.

Verás que llegas a un trozo con lo de ROOT-... etc., pues allí seleccionas desde el principio (de la cadena) hasta el final (del archivo), lo pegas en uno nuevo, guardas, y "hasheas".
Objetivo: Top 5 Guitar Hero 1, nivel difícil
Actualmente Top 8

Imagen

(Clica para ver mi historial...)

PD: No es que sea malo en experto, lo único que solo he enviado 3 canciones que me salen más o menos bien (comprobar perfil también [Ooooo] ), en verdad las tengo todas en 5* [poraki] [poraki] [poraki]

klausus
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 902
Registrado: 20 Abr 2006
Ubicación: valencia

Mensajepor klausus 31 Mar 2008 04:07

GameZelda escribió:
Pues simplemente tienes que ir "pasando" tipos desde el principio.

u32 sig_type; --> 4 bytes
u8 sig[256]; --> 256 bytes
u8 fill1[60]; --> 60 bytes
-----------------------------
TOTAL --> 320 bytes

Y luego ya solo es llegar allí. La mayoría de editores hex. incluyen una opción para saltar a un "offset" (posición) de archivo. Así que vas allí, y pones 320.

Verás que llegas a un trozo con lo de ROOT-... etc., pues allí seleccionas desde el principio (de la cadena) hasta el final (del archivo), lo pegas en uno nuevo, guardas, y "hasheas".



Muchas gracias ahora mas o menos entiendo mas los campo que estan en wiibrew XD esk me liaba >_<


Ya modifique un TMD dese la linea 320 que comienza el ROOT... hasta el final n_n enfin... conseguido XD


A otra cosa jeje

Previo

Volver a Scene

¿Quién está conectado?

Usuarios navegando por este foro: No hay usuarios registrados visitando el foro y 9 invitados