Afficher un message
Vieux 15/03/2008, 09h22   #120 (permalink)
Profil
jimmikaelkael
Membre
Ancienneté  62%
Ancienneté 62%
 
Date d'inscription: décembre 2007
Pays :
Messages: 383
Téléchargements: 3
Uploads: 0
Merci: 1
Remercié 48 fois dans 23 Posts
Par défaut

Oui hackchip, c'est certains que si les dummy sont présent c'est parce qu'il s'en sont servit pour mettre leur fichiers, ensuite ils ont réarrangé la FAT.
On le voit bien car rien ne pointe sur les dummy, ils sont enregistrés comme clusters perdus par myMC.

Mais se dont je veut parler pour le fichier MEMENTO.BIN, c'est que le cluster de FAT indirecte (celui ou les infos sur le fichier MEMENTO.BIN sont stockées) mentionne une taille de 9 octets (pour le firmware 1.2e, 256 octets pour le FW1.0), et pointe sur un cluster dummy avec marqué MEMENTO dedans.
Seulement, en regardant la FAT j'ai pu remarqué que ce cluster dummy, pointe lui sur l'adresse 0x18F1800, là ou commence l'OS memento (qui fait 192 ko pour le 1.2e).
En clair, modifie juste la taille du fichier MEMENTO.BIN à 192 ko + 1 ko (le cluster dummy), et tu récupère le fichier MEMENTO.BIN en entier.
Essaie tu verra... je vais essayer de te faire un petit util en ligne de commande pour reconstruire les ECC, mais avec myMC tu peut tester en utilisant l'option -i.

Regarde bien cette image écran :


C'est ler 1er cluster de FAT qui démarre a 0x2520, la partie entourée correspond au cluster dummy du fichier MEMENTO.BIN, donc si vraiment le fichier s'arretait là, il y aura FFFFFFFF pour marquer la fin de fichier or là il ya 0x80 au début pour marquer l'utilisation, et 0x6037 (24631 + 137 qui est le premier cluster allouable marqué dans le superbloc * 1056, la taille d'un cluster+ECC = 0x18F1800).


Et le plus drôle, regarde :


Au passage j'ai juste entouré le cluster qui pointe sur lui même du osdxxx.elf version EUR, celui qui cause la répétition.
C'est la suite du fichier MEMENTO.BIN à partir de la ligne, et bien si je met à vide tout ces clusters qui pointe sur les suivants, et bien l'OS memento fonctionne quand même !
Seules les 2 premiers clusters doivent être liés, le 0x04 (le dummy du .BIN lié a la fat indirect, qui d'ailleurs peut être déplacer n'importe ou sur la carte et modifié, du moment qu'i pointe bien sur 0x18F1800 ), et le 0x6037 (0x18F1800).

Après je pense que leur programme lit donc a une adresse spécifique.
jimmikaelkael est déconnecté   Réponse avec citation