Bon... j'ai un peu creusé la partie technique du bidule (j'uis curieux
) ... désolé pour mes propos abscons pour certains...
Alors,
- C'est un système classique à base d'ARM
- un linux embarqué avec un kernel 2.6.28
- Il est vu comme UMS (universal mass storage=clef usb) du PC
- Il y a une flash de 1Go (NAND) divisée en 3 partitions dont une partition "UMS" de 512Mo
- le firmware se trouve dans la flash et fait globalement 37/38Mo
- la taille du binaire réel de l'application est de seulement 1Mo environ !
- la cartographie se trouve sur la partie accessible (partition "UMS") et fait 380Mo globalement...
- les POI users se trouvent sur la partition "UMS"
- le firmware peut-être "downgradé" en plaçant un fichier spécifique .tar à la racine de la partition "UMS" (un recovery mode car pour upgrader, on passe par un logiciel spécifique sous windows qui telecharge le .tar et le copie à la racine du boitier)
alors, le plus intéressant...
- le fichier .tar contient des fichiers .tgz du système linux /etc /usr/ ...etc...
- un fichier install.sh à la racine du .tar sert à effectuer le flash de la NAND.
- chaque fichier (ex: etc.tgz) est associé à un fichier md5 et une signature calculée avec OpenSSL (une des clefs de décodage pour vérification est accessible, la publique évidemment).
edit: je crois que j'ai trouvé la clef privée
- les scripts d'installation shell (du ash, un dérivé de BourneShell) sont accessibles et vérifient ces signatures...
- Tous les fichiers sont accessibles (sons+voix+scripts+binaire ELF)
- La base de donnée des radars est accessibles en binaire... Je ne connais pas le format de codage
- On peut (apparemment) accéder en SSH à une BusyBox via le cable USB (deux modes lors de la connexion au PC, comme une clef USB ou comme une interface réseau...)
edit:je ne sais pas encore passer de l'un à l'autre, il semble qu'il faille reflasher avec le bon paramétrage
- il faut, apparemment, activer le serveur SSH pour l'utiliser... à voir... peut-être via un serial over usb en 115200
- La lib graphique utilisée est du QT Trolltech v4.5
- la communication GSM passe via du PPP (tous les paramètres dans /etc/ppp/) et la sim semble être "du Bouygue"
- le hostname du bidule est le numéro IMEI de la carte SIM
- le numéro de téléphone du serveur est stocké en "profile" sur la carte SIM
- les formats d'images utilisées sont le .ppm (
http://www.rcweb.fr/image/ppm.html), un classique sur Nunux...
- il y a deux utilisateurs déclarés (/etc/passwd), le root sans password et un utilisateur support avec un mot de passe.
Bref, on pourrait théoriquement mixer plusieurs firmware entre eux et se faire un firmware "hybride" avec une base de radar version x+ cartographie version y + firmware z.
Il faut, pour cela, re-créer le .tar en resignant en md5+openssl chaque sous répertoire compressé en .tgz
Pour le problème de signature manquante avec OpenSSL (
à voir si la clef privée trouvée est bonne pour signer les fichiers, plus de soucis ) , il faut modifier les scripts d'install en bypassant la signature de OpenSSL... le plus simple, je pense....
Enfin, ça reste très théorique...
Idem, on pourrait rajouter des applis avec une cross compilation ARM à partir d'un PC...
Beaucoup de possibilités théoriques, en un mot, si on se donne la peine de s'emmerder un peu
...
S'il y a des volontaires qui possèdent un Ci et qui veulent "bidouiller"...
(Il faut faire attention à ne pas "bricker" le truc
)
ps: Etonnemment, on dirait qu'InfoRad a développé le software à partir de sources codes de Zaurus ! (j'en ai un !
)
Pour ceux qui ne savent pas ce qu'est un zaurus...
http://fr.wikipedia.org/wiki/Zaurus