Firefox

Extraire des données du cache Firefox

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 :

Affichage d'un fichier du cache Firefox

Affichage d'un fichier du cache Firefox

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 :

cache2bin.txt

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 :

  1. Remplacer $ereg par l’expression régulière correspondant à votre fichier.
  2. 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})/";

Licence

Creative Commons GNU GPL

Programme sous Creative Commons GNU GPL

3 réflexions sur « Extraire des données du cache Firefox »

  1. Gilles

    Hello

    J’ai le même soucis que tu as eu. J’ai effacé un fichier CSS par erreur et j’ai pensé également à le récupérer via le cache de mon navigateur. J’ai donc le fameux fichier Cache entry information.xhtml.

    En testant ton script qui s’exécute sans difficulté, j’obtient un fichier qui est toujours illisible pour récupérer mon CSS …

    Y a-t-il une solution ?

    Merci d’avance

    Cordialement

    Gilles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload the CAPTCHA.