En ce qui concerne les logiciels "intégrés", nombre de produits commerciaux s'agrémentent d'utilitaires "de protection". Mais il n'est pas rare que ces utilitaires ne soient en fait que des passoires. Donnons en quelques exemples.
Le générateur de menus déroulants "Dboutils" permet d'ajouter un mot de passe pour protéger certaines options. La Table 13 décrit le code généré pour le mot de passe "confidentialité".
Et, bien entendu, ce codage ne résiste pas beaucoup. Mais il est vrai que la documentation est très discrète, et ne promet pas grand chose non plus.
Il n'en est pas de même pour WordPerfect dont la notice affirme péremptoirement : "il n'existe aucun moyen de récupérer un document protégé sans le mot de passe".
Un article [1] avait déjà montré que l'algorithme de chiffrement de la version 4.2 ne résistait pas bien longtemps à une analyse de fréquences, le plus long étant de déterminer la longueur de la clef.
La version 5.0 n'a pas amélioré les choses [4] : les documents sont précédés par un descripteur d'imprimante, qui est chiffré lui aussi, alors qu'une partie en est immuable : ce qui permet de décrypter le document en commençant par trouver la clef, "procédure qui tient au dos d'une large enveloppe"...
Terminons par deux utilitaires pour compatibles-PC sous MS-DOS et qui sont vendus "en prime" d'un logiciel de réorganisation de disque ("Optimize").
Écrits en assembleur, Lock/Unlock résistent remarquablement au traçage malgré leur petite taille, car ils écrasent les routines correspondantes (BRK, STEP et INT 03) puis utilisent leurs vecteurs ainsi que l'horloge interne pour gérer les enchaînements au lieu de passer par des appels de procédures. Par ailleurs, l'image sur disque des parties sensibles du code exécutable est chiffrée, et bien entendu leur mise en clair est écrasée avant de rendre la main.
Cela dit, une fois les "pièges" contournés et le programme désassemblé, on se rend compte de ce que les fichiers chiffrés (après un détrompeur pour éviter de chiffrer deux fois de suite) commencent par les 12 octets de la clef, seulement protégés par une suite facilement inversible de permutations et de décalages. Autrement dit, une fois réalisé l'investissement initial (disons trois jours), le procédé est définitivement brisé.