Suite à la mise en compatibilité de KhiCAS avec le mode examen des ti83, Casio 90 et 35eii, certains élèves qui possèdent des Numworks vont se demander pourquoi KhiCAS n'a pas été rendu compatible en mode examen avec les Numworks N0115/N0120 et les N0110 verrouillées. La raison est technique, il m'est impossible de rendre KhiCAS compatible en mode examen sur ces modèles sans l'intervention de Numworks et pour l'instant Numworks n'y voit pas d'intérêt économique.
Je pense que Numworks pourrait rendre KhiCAS compatible avec un mode examen français bien identifié ou pour un modèle destiné uniquement au marché français (comme c'est le cas des ti83, Casio Graph 90 et 35eii), avec un effort de développement assez minime, j'explique ci-dessous pourquoi. J'invite toutes les personnes intéressées à se manifester (par exemple en répondant à ce message, en contactant Numworks, en m'envoyant un mail)
KhiCAS a la particularité de se lancer en 2 étapes : 1ère étape l'OS Epsilon donne la main à l'application lanceur (installé par l'installeur d'app externe avec le fichier khicas.nwa), 2ème étape: le lanceur effectue certaines vérifications, puis donne la main à l'exécutable chargé depuis le "slot B". Ce slot B contient en 0x90400000 une archive khi1[1|2]0b.tar ou khi1[1|2]ab.tar, archive au format tar. Le point d'entrée d'exécution de KhiCAS est lu à l'adresse 0x90400200 (c'est l'adresse sur la calculatrice du début du 1er fichier de l'archive tar, après le header de 512 octets). Cette méthode de lancement en 2 étapes permet de disposer de plus d'espace pour le code (un peu moins de 4M au lieu d'un peu plus de 2M), et ça a aussi l'avantage qu'en cas de crash/reset, comme Epsilon rend inutilisable le secteur de lancement de l'app externe, au lieu de réinstaller toute l'application, on réinstaller juste le lanceur, ce qui est beaucoup plus rapide (mais reste quand même très pénible, il serait temps que Numworks corrige cela, ils nous l'ont promis depuis plus d'un an maintenant https://github.com/numworks/epsilon/issues/2167)
Je viens de rajouter dans les vérifications du lanceur de KhiCAS un mécanisme d'authentification. J'ajoute dans les fichiers tar de KhiCAS une signature qui est obtenue par cryptage de l'empreinte sha256 du 1er fichier (la signature de 256 octets est coupée en 2 zones de 64 octets et 1 zone de 128 octets qui sont injectées dans des zones non utilisées du header de 512 octets du 1er fichier). Le lanceur de KhiCAS calcule le décryptage (avec ma clef publique RSA 2048), et si cela ne correspond pas à l'empreinte sha256 calculée sur le slot B, un message d'information s'affiche. Actuellement; on peut quand même exécuter, mais on pourrait bien sur refuser l'exécution à cette étape.
Bien sur, Numworks pourrait aussi directement intégrer le lanceur de KhiCAS à son firmware et authentifier le fichier tar qui contient KhiCAS en slot B directement, avec le même système que celui qu'ils utilisent pour authentifier leurs firmwares.
KhiCAS Numworks, signature et compatibilité mode examen
1 post
• Page 1 of 1
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 3778
- Joined: 13 Dec 2013, 16:35
- Gender:
- Calculator(s):→ MyCalcs profile
1 post
• Page 1 of 1
Who is online
Users browsing this forum: ClaudeBot [spider] and 4 guests