36 votes

Comment récupérer un fichier supprimé sur Android ?

Je viens de supprimer un fichier sur mon Nexus S que j'ai vraiment besoin de récupérer. (Il faisait en fait partie d'une application utilisant une base de données sqlite qui faisait un drop table lors de la mise à jour vers une nouvelle version).

Je dois probablement d'abord Rooter le téléphone (ce qui est facile sur les téléphones Nexus, paraît-il), mais suis-je dans une impasse ? A savoir, est-ce que le fait de rooter le téléphone signifie effacer/écraser la partition où se trouvent les données ?

Si non, que recommandez-vous comme outils de récupération de données ? On peut supposer que le fichier a simplement été dissocié et n'a pas été écrasé activement (comme d'habitude lors de la "suppression" d'un fichier), donc techniquement, les données doivent être là...

0 votes

Je ne peux pas poster de réponse, le système est contre moi. Pire pour eux... Le moyen le plus simple lorsque vous avez un système Linux et votre appareil avec TWRP recovery est. 0. Tout d'abord ! Arrêtez de créer de nouveaux fichiers, fermez toutes les applications. Si vous avez besoin de lancer quelque chose, mieux vaut SUPPRIMER d'abord certains fichiers inutiles autant que possible pour libérer plus d'espace et avoir plus de chances de garder vos fichiers supprimés intacts. Bien sûr, vous devez savoir quelle partition vous devez libérer. Il y a de fortes chances que ce soit celle qui est montée en tant que /data (vos fichiers locaux et supprimés sont dans /data/media ou quelque chose comme ça).

0 votes

1. Dans TWRP recovery, copiez votre partition avec dd à une carte micro SD par morceaux de 4 Go : ``` dd if=/dev/dm-0 of=/sdcard/x1...n bs=1048576 count=4095 skip=... ``Bien, vous avez une option pour monter un lecteur OTG externe (trouver une source d'alimentation externe cependant). Mais le mien n'a pas fonctionné, j'ai donc dû mettre des morceaux sur micro-SD. Dans skip paramètre que vous mettrez : 0, 4095, 8190, 16380, etc.

0 votes

2. Déplacer tous les morceaux vers le système linux, concaténer avec cat .

37voto

Flow Points 18254

Manuelle

Heureusement, la récupération de données sur Android n'est pas différente de celle de tout autre PC/Linux avec un périphérique de stockage flash. Vous devez d'abord Racine et le dd binaire sur votre appareil pour effectuer une sauvegarde complète du périphérique de stockage en bloc sur lequel se trouvait le fichier supprimé. dd est parfois déjà installé dans votre système.

Ensuite, il suffit de 3 étapes pour savoir si le fichier peut être récupéré :

  1. Découvrez sur quel périphérique de bloc se trouvait le fichier. Via mount
  2. Acquérir une image de ce périphérique de bloc avec dd : dd if=/dev/<blockdevice> of=/sdcard/image bs=4096
  3. Obtenir un récupération de données outil de médecine légale et le laisser chercher /sdcard/image pour le fichier perdu. Vous pouvez bien sûr essayer d'utiliser plusieurs outils sur l'image. Foremost y Scalpel sont un bon début.

"Application "Undelete

Il existe une nouvelle application appelée "Undelete Beta" qui peut récupérer des fichiers sur le stockage interne et la carte SD. L'application est en version bêta et comporte certaines restrictions.

Si le fichier est vraiment important, je choisirais toujours la "méthode manuelle". .

0 votes

Flow, merci beaucoup ; excellente réponse ! Je me sens moins découragé maintenant :) Je suis un peu intimidé par le rooting cependant. Sais-tu quelque chose sur le rooting du Nexus S ? Est-ce que je vais perdre des données, des applications ou autre chose ? Devrai-je le déraciner pour obtenir les mises à jour automatiques du système d'exploitation à l'avenir ? Le déverrouillage est-il également simple ?

0 votes

Pour l'enracinement voir cette question . Je n'ai pas de Nexus S, mais je dirais : Non, non et parfois.

1 votes

@Flow : a) Je ne toucherais vraiment plus à la partition affectée mais je déverrouillerais le Nexus et ferais 'fastboot boot cwm.img' pour une récupération tmp. b) De préférence, utilisez adb à la volée pour transmettre les données de la partition hors du téléphone (pas de stockage intermittent sur /sdcard) en utilisant stdout+gzip+uuencode c) découpage : sqlite3 n'a pas de pied de page, mais un en-tête "SQLite format 3". En l'utilisant avant tout, il est préférable de définir une taille maximale et peut-être 'NEXT' (indiquant EOF si un autre nouvel en-tête est trouvé). Je peux modifier ?

14voto

Andreas Jonsson Points 528

Depuis Android 4.3+ et la mise en œuvre de TRIM, il est désormais incroyablement difficile de récupérer des fichiers supprimés sur la mémoire interne.

Certaines des solutions proposées ne seront probablement pas utiles si vous n'êtes pas en mesure d'analyser la mémoire à la recherche du ou des fichiers supprimés très rapidement après la suppression.

De plus, dans le cas d'une récupération après une réinitialisation d'usine, à partir d'Android 4.0+, une réinitialisation d'usine finit par effectuer un effacement sécurisé (ou une opération similaire) de sorte que toutes les données sont irrévocablement perdues.

Référence :

1 votes

Je suppose que c'est la bonne réponse en 2019 ?

8voto

Matthew Read Points 50150

Le nouveau Undelete Beta peut être utile ici si vous ne voulez pas impliquer un PC. Chaque fois que vous écrivez sur le stockage, vous risquez d'écraser le fichier supprimé, mais le rooting ne devrait pas effacer.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X