Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
sgda Chapelier Toqué
Inscrit le: 02 Oct 2005 Messages: 387
|
Posté le: 22 Mai 2006, 07:03 -> Sujet du message: Image du firmware |
|
|
Tout d'abord quelques explications sur la structure de l'image du firmware :
La mémoire du AH4021 contient bien évidement l'image du firmware en cours. Celle-ci se compose de plusieurs parties.
1°) Une entête de 256 octets :
4 octets : Magic number (32 37 00 00 pour Alice, 36 00 00 00 pour CI )
20 octets : Label "Broadcom Corporation"
20 octets : Label "Firmware version 2.0"
16 octets : label nom du modèle "96348GWV" dans le code source
2 octests : "31 00"
10 octets : taille de l'image (sans l'entête) donc taille du fichier image - 256
Une série adresse/taille pour chaque partie de l'image (adresse 12 octets -taille 10 octets, )
- "Loader" : adresse mémoire hexa est 0xBFC00000 (3217031168 ) si absent 0/0 (Magic number 10 0 2 78 )
- "File system" : adresse mémoire hexa 0xBFC10100 (3217096960 ) (Magic number 73 71 73 68 ) (la taille du file system utile est donnée par les octets 9 à 12, mais dans l'image du firmware elle est étendue par des octets nuls jusqu'au début du kernel. Donc il faut dumper au moins 256 octets de plus que cette taille et couper au début du kernel)
- "Kernel" : adresse mémoire hexa (0xBFC10100 + taille du file system) (Magic number 80 01 00 00 80 18 80 1 (les 4octets suivants donnent la taille de du kernel, donc la taille totale de l'image du kernel est égale à cette taille +C )
La taille de l'image est donc égale à la somme des tailles de chacune des parties.
et enfin :
octets 217 à 220 : data checksum de l'image (hors entête)
octets 237 à 240 : data checksum de l'entête.
Il s'agit du complément à 1 du CRC32 (FFFF FFFF - CRC32)
Puisque l'on connaît maintenant la structure de l'image et où ont été chargés les différents éléments, on peut donc se lancer dans l'opération inverse et aller chercher dans la mémoire du modem. Ceci est possible avec la commande CLI
dumpmem adresse_hexa taille
exécutable sous le shell
Je recommande une taille de 512 ou 256 et donc avec une série de dumpmem consécutifs on peut obtenir le contenu de la mémoire (code hexadécimal qu'il suffit de tranformer ensuite en code binaire).
Le résultat de la commande dumpmem est envoyée dans la journal des évènements (local ou distant) en niveau debugging (kernel tag).
Je recommande plutôt d'utiliser le niveau distant et un syslog externe (Voir tuto ou post). Pour ma part j'utilise MT_syslog qui permet de filtrer les messages.
Pour éviter la pollution par d'autres messages, il vaut mieux procéder à cette opération avec le modem non connecté à l'adsl.
A titre d'exemple, voici le debut du fichier pour dumper le loader de mon modem CI
192.168.1.1 23
WAIT "AH4222\mLogin: "
SEND "root\m"
WAIT "Password: "
SEND "clubadmin\m"
WAIT ">"
SEND "sh\m"
WAIT "\mBusyBox v1.00 (2006.01.26-03:04+0000) Built-in shell (msh)\mEnter 'help' for a list of built-in commands.\m\m#"
SEND "dumpmem bfc00000 512\m"
WAIT "#"
SEND "dumpmem bfc00200 512\m"
WAIT "#"
SEND "dumpmem bfc00400 512\m"
WAIT "#"
SEND "dumpmem bfc00600 512\m"
WAIT "#"
SEND "dumpmem bfc00800 512\m"
WAIT "#"
....
Procéder en plusieurs passes pour le file system afin de ne pas avoir des fichiers logs trop importants à manipuler.
Une fois les différentes parties récupérées, il suffit de recréer l'entête et de tout réassembler dans un seul fichier pour obtenir une image du firmware en cours.
Fans de bidouille à vos claviers.
Dernière édition par sgda le 22 Mai 2006, 19:13; édité 1 fois |
|
Revenir en haut |
|
|
TTMan Chat de Cheshire
Inscrit le: 04 Jan 2006 Messages: 261 Localisation: Bellentre (73) - FRANCE
|
Posté le: 22 Mai 2006, 10:36 -> Sujet du message: |
|
|
Excellent boulot et merci pour l'info!
Dès ce soir je tente de me faire une chtite sauvegarde du firmware en cours.
_________________ AliceBox Hitachi... depuis le 20/01/2006, plus de grillons!!! |
|
Revenir en haut |
|
|
sgda Chapelier Toqué
Inscrit le: 02 Oct 2005 Messages: 387
|
Posté le: 13 Juin 2006, 09:22 -> Sujet du message: |
|
|
Avec les boxes de secours, vous pouvez vous lancer. Cela fonctionne d'autant mieux qu'elle n'est pas connecté au réseau. Donc si vous avez 2 Pcs, vous pouvez faire la manip tranquille dans un coin.
|
|
Revenir en haut |
|
|
Francois38 Alice d'Or
Inscrit le: 29 Jan 2006 Messages: 18571
|
Posté le: 13 Juin 2006, 15:31 -> Sujet du message: |
|
|
ouai, j'aimerais bien, mais la, c'est un peut trop compliqué pour moi....
quand j'aurais un moment, faut que j'ouvre la bete et voir s'il n'y a pas moyen de lui fouiller le cerveau d'une maniere plus simple...
_________________ Ex Alicien
Freebox Delta + Pop Fibre |
|
Revenir en haut |
|
|
onijd Reine/Roi de Coeur
Inscrit le: 23 Avr 2006 Messages: 623 Localisation: Haute Normandie
|
Posté le: 13 Juin 2006, 15:47 -> Sujet du message: |
|
|
François ou le Docteur Frankeinstein
_________________ Ancien Alicien, chez Orange maintenant.. |
|
Revenir en haut |
|
|
Francois38 Alice d'Or
Inscrit le: 29 Jan 2006 Messages: 18571
|
Posté le: 07 Juil 2006, 20:50 -> Sujet du message: |
|
|
le résultat de tous ca est LA
_________________ Ex Alicien
Freebox Delta + Pop Fibre |
|
Revenir en haut |
|
|
Invité
|
Posté le: 02 Déc 2008, 10:47 -> Sujet du message: |
|
|
bonjour
qu'est ce qui sert a l'authentification en auto dans tout ce "bazard" Xd ???
|
|
Revenir en haut |
|
|
|