La fonction about:cache de Firefox (à taper dans la barre d’adresse) permet d’afficher les éléments qui ont été mis en cache. Un jour j’ai eu à récupérer un fichier CSS que j’avais supprimé par erreur mais qui était toujours dans le cache. J’ai donc pu voir mon fichier mais en affichage hexadécimal :
Si on fait « Fichier » > « Enregistrer sous… » on peut enregistrer ces données dans un fichier (nomé Cache entry information.xhtml par défaut). J’ai donc écrit un outil qui permet d’extraire les données en affichables pour les écrire en binaire. Cet outil est écrit en PHP-CLI (Command Line Interface) et s’utilise comme ceci :
php cache2bin.php "Cache entry information.xhtml" "test.gif" |
Vous pouvez le télécharger à cette adresse si cela vous intéresse :
Pour l’exécuter il faudra surement le renommer en .php et ajouter les droit d’exécution sur Linux.
Personnalisation
Si vous avez besoin de faire la même chose mais pour un fichier ne provenant pas du cache de Firefox, ce programme peut marcher en l’état, mais si ce n’est pas le cas, il n’y aura sûrement que deux choses à faire :
- Remplacer $ereg par l’expression régulière correspondant à votre fichier.
- Remplacer $data_per_line par le nombre d’octets affichés par ligne.
Par exemple pour un fichier généré par la commande Linux hexdump on aurait $data_per_line qui reste à 16 et pour $ereg :
$ereg = "/[0-9a-f]{8}: ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) - ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2}) ([0-9A-F ]{2})/"; |