Comment puis-je récupérer un fichier supprimé sur Android?


34

Je viens de supprimer un fichier sur mon Nexus S dont j'ai vraiment besoin. (En réalité, il faisait partie d'une application utilisant une base de données sqlite qui effectuait une suppression de table lors de la mise à niveau vers une nouvelle version.)

Vraisemblablement, je dois d'abord rooter le téléphone (ce qui est facile à dire sur les téléphones Nexus), mais suis-je dans un catch-22 ici? À savoir, enraciner le téléphone signifie-t-il effacer / écraser la partition où se trouvent les données?

Si non, que recommandez-vous pour les outils de récupération de données? Vraisemblablement, le fichier était simplement non lié et non écrasé activement (comme d'habitude lors de la "suppression" d'un fichier), donc techniquement, les données doivent être là ...


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 que votre périphérique avec récupération TWRP est. 0. Tout d'abord! Arrêtez de créer de nouveaux fichiers, fermez toutes les applications. Si vous devez exécuter quelque chose, effacez d'abord autant que possible de supprimer des fichiers inutiles pour libérer plus d'espace et obtenir plus de chances de garder vos fichiers supprimés intacts. Bien sûr, vous devrez savoir quelle partition vous devez libérer. Il y a de fortes chances que ce soit celui qui est monté en tant que /data(vos fichiers locaux et supprimés sont dans /data/mediaou quelque chose comme ça).
midenok

1. Dans la récupération TWRP, copiez votre partition avec la ddcarte micro SD par morceaux de 4 Go: `` `dd if = / dev / dm-0 de = / sdcard / x1 ... n bs = 1048576 compte = 4095 skip = ... `` `Eh bien, vous avez la possibilité de monter un lecteur OTG externe (recherchez une source d'alimentation externe cependant). Mais le mien ne fonctionnait pas, j'ai donc dû mettre des morceaux à la micro-SD. En skipparamètre vous mettrez: 0, 4095, 8190, 16380, etc.
midenok

2. Déplacez toutes les pièces sur le système Linux, concaténez avec cat.
midenok

3. Utilisez testdiskpour récupérer. C'est l'outil le plus polyvalent pour extfs undelete. Il permet de récupérer des répertoires spécifiques et même de supprimer des fichiers brisés et fonctionne très rapidement (en dehors des scanneurs heuristiques). Ainsi, vous serez sûr que tout ce qui est possible est non effacé ou écrasé.
midenok

Ou bien, installez-le toujours testdiskdans le paquet busybox et conservez-le sur votre téléphone.
midenok

Réponses:


35

Manière Manuelle

Heureusement, la récupération de données sur Android n'est pas différente de tout autre PC / Linux doté d'un périphérique de stockage flash. Vous avez d’abord besoin de root et du ddbinaire sur votre appareil pour effectuer une sauvegarde complète du périphérique de stockage en mode bloc sur lequel se trouvait le fichier supprimé. ddest parfois déjà installé sur votre système.

Ensuite, il ne reste que 3 étapes pour savoir si le fichier peut être récupéré:

  1. Recherchez le périphérique sur lequel se trouvait le fichier. Viamount
  2. Acquérir et image de ce périphérique bloc avec dd: dd if=/dev/<blockdevice> of=/sdcard/image bs=4096
  3. Procurez-vous un outil d'analyse judiciaire de récupération de données et laissez-le rechercher /sdcard/imagele fichier perdu. Vous pouvez bien sûr essayer d’exécuter plusieurs outils sur l’image. Avant tout et Scalpel sont un bon début.

"Undelete" App

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 bêta et comporte certaines restrictions.

Si le fichier est vraiment important, je choisirais toujours la "Manière Manuelle" .


Flow, merci beaucoup; très bonne réponse! Je me sens moins découragé maintenant. :) Je suis cependant un peu intimidé par l'enracinement. Savez-vous quoi enraciner le Nexus S? Vais-je perdre des données, des applications ou quoi que ce soit? Aurai-je besoin de le détacher pour obtenir des mises à jour automatiques du système d'exploitation à l'avenir? Unrooter est-il simple aussi?
Dreeves

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

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

1
+1 pour 'scalpel'! Ne sait pas avant. BTW: Photorec de Testdisk est également très utile (pour les types de fichiers standard tels que .jpg et autres)
ce4

Que se passe-t-il si le périphérique à sauvegarder est supérieur à 4 Go?
David V.

10

Depuis Android 4.3+ et la mise en œuvre de TRIM, il est maintenant extrêmement difficile de récupérer des fichiers supprimés dans la mémoire interne.

Certaines des solutions suggérées ne serviront probablement à rien si vous ne pouvez pas analyser la mémoire 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 se termine par un effacement sécurisé (ou une opération similaire), de sorte que toutes les données disparaissent de manière irrévocable.

Référence:


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

7

La nouvelle version bêta d'Undelete peut être utile ici si vous ne souhaitez pas utiliser de PC. Chaque fois que vous écrivez sur le stockage, vous risquez d'écraser le fichier supprimé, mais le root ne devrait pas s'effacer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.