Fichiers fournis :
- racine.dat
- collier.bin
ÉTAPE 1 – Le chiffre des racines (OBLIGATOIRE)
Le fichier racine.dat appartient à l’utilisateur 1001 et au groupe 100.
Ses permissions sont 000 (vous ne pouvez pas lire son contenu directement).
Mais il possède un attribut étendu nommé user.sel qui cache un petit nombre.
-
Lisez l’attribut étendu avec la commande : getfattr -n user.sel racine.dat Vous obtiendrez une valeur entière (par exemple "7").
-
Récupérez l'UID (propriétaire) et le GID (groupe) avec : stat -c "%u %g" racine.dat
-
Calculez la clé K avec la formule suivante : K = (UID × 3) − (GID × 2) + (valeur de user.sel)
K est un nombre entier. Pour la suite, on utilisera uniquement sa partie modulo 256 (c’est-à-dire K % 256).
👉 Sans cette clé K, l’étape 2 sera impossible a trouver.
ÉTAPE 2 – Le déchiffrement du collier
Le fichier collier.bin est un texte chiffré octet par octet.
Chaque octet du fichier a été XORé avec la clé K (modulo 256) calculée à l’étape 1.
Pour obtenir le message final :
-
Écrivez un petit script (Python, C, ou même une ligne de shell avec
xxdetbc) qui litcollier.bin, applique un XOR avec(K % 256)sur chaque octet, et écrit le résultat dans un fichiermessage.txt. -
Le résultat est un proverbe africain en français. C’est votre solution.