Forum Astuces.divers [Terminal] Mince, j'ai fermé la fenêtre qui contenait xxxx

Posté par  .
Étiquettes :
0
21
déc.
2003
Il arrive parfois que l'on ferme une fenêtre (terminal, chat, messager) qui contenait quelque chose d'important, comme une adresse de courriel ou un numéro de téléphone.
Avec un peu de chance, on peut récuperer cette information dans la mémoire de la machine, pour peu que l'on se souvienne d'un motif qui figurait dans la (ou les) ligne(s) en question.

en tant que "root" :
strings /proc/kcore | grep motif

Bonne chance !
  • # Re: Mince, j'ai fermé la fenêtre qui contenait xxxx

    Posté par  . Évalué à 1.

    Pas mal !
    Question : que représente /proc/kcore ? (tout ce qui a été entré ? )
  • # Re: Mince, j'ai fermé la fenêtre qui contenait xxxx

    Posté par  (site web personnel) . Évalué à 1.

    il y a quand meme beaucoup de bordel qui s'affiche ...
    chez moi, ce fichier fait 1 Go (512 Mo de Ram et 512 Mo de swap) donc le motif a interret etre pertinent !
    • [^] # Du bordel, et même du vieux

      Posté par  (site web personnel) . Évalué à 1.

      A essayer
      # strings /proc/kcore | grep 'http://'(...) > /tmp/kcore.log

      La j'ai sous les yeux des URL que je n'ai pas visité -au moins- depuis depuis que j'ai rallumé mon pc.
      C'est quoi donc que ce /proc/kcore qui n'est pas supprimé (ou au moins vidé) à l'arret de la machine ?


      les chinois du FBI débarquent chez moi, ils n'ont qu'à faire un récuperer le contenu de ce fichier pour savoir ce que la mémoire de ma machine contient depuis xx temps ?


      Qu'est ce que ça donne sur une distrib genre Admantix ou un openBSD ?
      • [^] # Re: Du bordel, et même du vieux

        Posté par  . Évalué à 1.

        > C'est quoi donc que ce /proc/kcore qui n'est pas supprimé (ou au moins vidé) à l'arrêt de la machine ?

        ça ça vient du swap !
        Petite précision : le fichier kcore n'est pas un vrai fichier, il n'existe pas sur ton disque dur.
        C'est juste un accès à ta mémoire physique (barrette mem + swap)

        La mémoire vive étant volatile si tu as des résidus d'informations de tes actions faites lors d'un autre allumage de ta machine.
      • [^] # Re: Du bordel, et même du vieux

        Posté par  . Évalué à 1.

        Sous OpenBSD tu as juste a activer le cryptage du swap pour ne pas avoir ce genre de soucis.
      • [^] # Re: Du bordel, et même du vieux

        Posté par  (site web personnel) . Évalué à 1.

        Pour autant que je sache /proc est spécifique à Linux.

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

  • # Re: Mince, j'ai fermé la fenêtre qui contenait xxxx

    Posté par  . Évalué à 1.

    Humm... Amusant ce concept...
    Le fait de fermer la fenêtre a normalement dû libérer l'espace mémoire contenant l'information. L'information est toujours présente mais son emplacement risque fort d'être réquisitionné lors d'une prochaine allocation mémoire ! (Question sur la gestion de la mémoire sous linux : les pages mémoire sont gérés en fifo ou en pile ?)
    Le grep à intérêt à être très parcimonieux avec la mémoire pour qu'il n'aille pas effacer ce qu'il est en train de rechercher !!! (mieux vaut éviter les expressions régulières compliquées...)
    A méditer aussi la chance de récupérer l'info si la machine est chargée (avec une compil du kernel en cours, par exemple...) ?...
    Ah, décidément très originale cette technique d' "undo" ! :-)
  • # "Cindy, tu nous as sorti du bébarras !"

    Posté par  (site web personnel) . Évalué à 1.

    Ouah merci merci merci
    Je viens de récupérer 5 heures de boulot perdu car il faut toujours lire les boites de dialogues quand y a marqué "overwrite ?" ...
    J'ai d'abord fait un cat /proc/kcore > /tmp/core avant de bidouiller sur le /tmp/kcore plutôt que des recherches sur /proc/kcore, on évite les grep cycliques, etc.
    • [^] # Re: "Cindy, tu nous as sorti du bébarras !"

      Posté par  . Évalué à 1.

      > J'ai d'abord fait un cat /proc/kcore > /tmp/core avant de bidouiller sur le /tmp/kcore

      Hum... "strings /proc/kcore > /tmp/core" serait peut-être plus pertinent (ne ressort que les caractères texte)...

      L'argument "-e s" peut également être passé à "strings" afin qu'il prenne en compte les caractère UTF et iso 8859 sur 8 bits. (voir le man pour plus de détail)
  • # hem hem : muy muy buen, SI on est autorisé à le faire !

    Posté par  . Évalué à 1.

    Cela marche très bien avec ma redhat 7.3 (kernel 2.4.20), mais avec ma fedora core 2 et son récent 2.6.8 ( idem sur slackware récente ) j'ai :
    strings: Ne peut ouvrir `/proc/kcore' en lecture: Opération non permise
    ( idem avec head,less etc... ) Et pourtant /proc/core est bien en lecture pour root.
    Il me semble que l'accès a été bloqué :(
    Un moyen de contourner ?
    Any idea ?
  • # top moumout ton astuce

    Posté par  . Évalué à 2.

    j'ai eu du mal a la retrouver apres que mon firefox ait plante en pleine redaction d'un poste assez long, en tout cas ca m'a permit de m'eviter une re redaction fastidieuse.

    Perso, j'ai opte pour la methode de bourrin : strings /proc/kcore | less et ensuite recherche avec /

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.