Données embarquées à la fin du binaire...
Stéphane Rivière via Ada-france <[email protected]> Thu, 17 Feb 2022 11:49:04 +0100
| Newsgroups | gmane.comp.lang.ada.france |
|---|---|
| Organization | La Maison |
| Message-ID | <[email protected]> |
Bonjour à toutes et tous, Avant de tenter une implémentation, je me demandais si quelqu'un avait déjà vu passer un truc de le genre ci-dessous (il me semble que oui, mais impossible de remettre la main dessus !). C'est dans un contexte Linux. J'avais codé le truc ci-dessous il y a très longtemps sur du Windows... sans contrôle d'intégrité de l'exe... et pas en Ada... On a le fichier binaire d'un coté et un fichier (SQLite) Au premier lancement, le binaire regarde s'il embarque en fin de binaire un tag CRC64. Si pas de CRC64, alors ouvre le fichier SQLite À la terminaison, le binaire ferme le fichier SQLite et l'ajoute à la fin du binaire avec un offset pour la position du début du fichier et un CRC 64 d'intégrité taggué à la toute fin. On ne touche donc pas à l'exe, on se "contente" de lui rajouter des données après sa fin d'origine. Au lancement suivant, le binaire détecte le tag CRC, vérifie l'intégrité, copie les données dans un fichier SQLite temporaire et l'ouvre. À la terminaison du programme, et après lecture de l'offset, on écrase la version précédente en fin de fichier binaire avec le fichier SQLite temporaire, on recalcule et écrit le CRC et on ferme le tout. Entre Apparmor, signature numérique de fichier, et contrôle d'intégrité, je me demande si c'est seulement aujourd'hui réalisable (sous Linux). "Adamantinement vôtre" :) -- Stéphane Rivière Ile d'Oléron - France _______________________________________________ Ada-france mailing list [email protected] https://mail.ada-france.org/cgi-bin/mailman/listinfo/ada-france