Restauration de fichiers supprimés sur un disque dur ntfs

Soyez le premier à donner votre avis sur cette source.

Vue 21 496 fois - Téléchargée 2 315 fois


Description

version 3.0

============================================
INTRODUCTION AU PROBLEME
--------------------------------------------

Quand on supprime un fichier d'un disque dur NTFS (j'entends par là qu'on le supprime définitivement, pas seulement en l'envoyant dans la corbeille, mais plutôt en vidant celle-ci), le contenu du fichier n'est pas pour autant effacé. En réalité, seul un drapeau change de valeur dans la MFT (Master File Table). L'exploitation de cette caractéristique du système de fichiers NTFS permet ainsi la restauration des fichiers supprimés.

Beaucoup d'utilitaires que l'on peut trouver sur internet et dans le commerce permettent d'effectuer en pratique cette restauration, mais bon nombre d'entre eux sont payants, et presque tous (si ce n'est la totalité) ne dévoilent pas leur code source. Ainsi ai-je décidé de programmer en Delphi ce code, qui permet de restaurer les fichiers effacés du disque.

============================================
BASES SOMMAIRES DE FONCTIONNEMENT
--------------------------------------------

-> Le disque NTFS est ouvert en lecture, ce qui permet de retrouver ses caractéristiques, ainsi que l'emplacement de la MFT.
-> Tous les enregistrements de la MFT sont parcourus afin de déterminer quels fichiers ont été effacés. Au passage, on récupère les caractéristiques de ces fichiers (offset de l'enregistrement correspondant, nom, taille, dates de création et de modification)
-> Lors de la restauration du fichier, un attribut de l'enregistrement de la MFT correspondant au fichier permet de localiser l'emplacement des données sur le disque.

============================================
DOCUMENTATION DU CODE
--------------------------------------------

Le code est commenté.
Une documentation détaillée du fonctionnement du programme est fournie sur mon site internet :
http://www.ni69.info
Rubrique "Ingénierie Informatique"
Dossier "Restauration logicielle de fichiers effacés sur un disque dur NTFS"

============================================
ATTENTION
--------------------------------------------

N'écrivez RIEN sur le disque contenant les données importantes que vous venez juste d'effacer afin d'avoir une chance de pouvoir les récupérer : chaque nouveau fichier ou dossier (ou tout autre nouvel élément qui impliquerait la création d'un enregistrement dans la MFT) serait susceptible de vous faire perdre définitivement (*) toute information sur les fichiers effacés qui vous intéressent.
(*) : en réalité, il existe toujours un moyen de récupérer ces données (persistance magnétique), mais nous sortons du cadre des fonctionnalités de ce programme. Et bien sûr, cela devient quasi-impossible quand on passe le disque dans un démagnétiseur ou que l'on efface le fichier de manière sécurisée (Gutmann, etc...)

N'essayez pas de sauvegarder les données récupérées sur le même disque à partir duquel vous effectuez la restauration. Préférez l'usage d'une clé USB, d'une carte mémoire ou d'un emplacement réseau : Comme précédemment cela risque de recouvrir d'autres fichiers que vous auriez voulu également restaurer.

Des avertissements peuvent survenir lors de l'exécution du programme, plus spécifiquement lors du parcours de la MFT à la recherche de fichiers supprimés (Message d'erreur "Unable to Fixup the Update Sequence : Invalid Record Data : No FILE Identifier found"). Cela se produit généralement quand le parcours touche à sa fin, et qu'à partir d'un certain moment les enregistrements de la MFT sont tous entièrement vides (ils n'ont jamais été remplis, donc ne peuvent bien évidemment pas contenir l'attribut "FILE"). Cela ne porte en rien à conséquence sur le fonctionnement du programme par la suite. Ces erreurs étant générées par un "raise" puis récupérées dans une structure "try/except", elles apparaîtront lors du débogage, mais seront totalement gérées à l'exécution. Si vous exécutez le débuggeur, cliquez alors juste quelques fois sur "Continuer l'exécution" et tout ira bien.
Note (version 2.2 et supérieures) : il est désormais possible de désactiver ces avertissements

============================================
EVOLUTIONS FUTURES PREVUES
--------------------------------------------
Gestion du Multi-Select pour les fichiers

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

ni69
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
8 -
Mise à jour du code : Version 3.0

Il est désormais possible de récupérer le nom du dernier répertoire ayant contenu le fichier supprimé (si celui-ci est encore disponible au sein de la MFT lors de l'analyse). On peut dorénavant trier la liste et y rechercher des fichiers selon ce nouveau critère.

J'ai rédigé un dossier complet sur le processus de restauration de fichiers effacés sur un disque NTFS, qui tient lieu de documentation de ce programme. Vous pouvez le trouver sur mon site web :
http://www.ni69.info
Rubrique "Ingénierie Informatique"
Dossier "Restauration logicielle de fichiers effacés sur un disque dur NTFS"
scoach
Messages postés
4
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
14 février 2009
-
alors finalement je me suis tourné vers une solution payante (Data Life Saver) qui m'a permis de tout récupérer sans trop de bobos.
certaines archives ont été altérées, mais ce logiciel m'a permis d'avoir les 9/10e des données utilisables.
merci encore pour vos conseils.
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
@Mauricio :
EASEUS Deleted File Recovery 2.1.1 :

la version d'évaluation est gratuite..
cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5 -
@Scoach: j' utilise EASEUS Deleted File Recovery 2.1.1 (excellent programme gratuit) mais qui a le défaut de devoir s' installer avant utilisation alors que ton appli pourrait se mettre sur une Pen ou CD.

A+
scoach
Messages postés
4
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
14 février 2009
-
c'est bien là tout mon problème: $MFT et $MFTMirr sont altérés.
J'ai trouvé une solution, mais elle est payante.
La version demo m'a bien retrouvé tout le contenu du disque mais ne permet pas de les récupérer:(
N'ayant rien trouvé au niveau freeware qui m'apporte un résultat probant, je vais donc opter pour cet achat.
Merci à tous pour l'attention que vous m'avez accordée.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.