Explorer la mft d'une partition ntfs

Soyez le premier à donner votre avis sur cette source.

Vue 14 378 fois - Téléchargée 869 fois

Description

Cette source vous permet de naviguer au travers de la MFT d'une partition NTFS.
Pour faire simple la MFT est la table des fichiers d'une partition NTFS, toute les infos (sécurité, quotas, flux supplémentaires, etc...) sur un enregistrement(répertoire/fichier) y sont stockés. Enfin wikipedia le résume assez bien (http://en.wikipedia.org/wiki/NTFS)

La classe principale <Ntfs.cs> n'est que du code unsafe avec pointeurs à gogo mais rassuez vous sa reste du c# ^^.
Cette classe vous permet de faire les choses suivantes:
- Lire les infos sur la MFT.
- Naviguer à l'interieur de celle-ci.
- Récupèrer via un événement les infos détaillés sur les enregistrements qu'elle contient (flag pour fichier supprimer présent)
- Lire une grande quantité d'enregistrement.
- etc.... la liste des fonctions est longue. !

Malgrès la compléxité du code celui-ci est commenté (anglais dsl).
J'ai ajouté 2 démos pour montrer l'utilisation de toute les fonctions de la classe Ntfs.

Voir également sur Technet pour plus d'infos: http://technet.microsoft.com/en-us/library/cc781134(WS.10).aspx

Voila voila.
Have fun ;)

Conclusion :


Je tiens à remercier Galain qui m'a apporté énormément sur le système de fichier NTFS !
Sans oublier le livre de Gary Nebbett et son livre "Windows NT/2000 Native API Reference".
Sans c'est deux références je n'aurais pas pu rendre cette copie sur NTFS et en particulier la MFT. Merci encore à Galain ;)

Si vous avez des questions des remarques n'hésitez pas !
bon dév !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_Galain
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6 -
Bravo pour cette approche du système NTFS
10/10 bien mérité
falcon4ever
Messages postés
2
Date d'inscription
mardi 23 décembre 2008
Statut
Membre
Dernière intervention
17 novembre 2009
-
salut willi votre code est tres interessant seulement que j'ai l'essaye sur un vista de 32 bits mais il ne fonctione pas
avengerfrance
Messages postés
10
Date d'inscription
mercredi 17 septembre 2003
Statut
Membre
Dernière intervention
26 janvier 2010
-
Bravo,
presque rien à redire ...

juste le fait qu'il faut cliquer pour changer la position du curseur après Retrieves MFT infos (sinon cela n'affiche rien...)
et une petite possibilité d'amélioration (et encore...) : ajouter une fonction read_cluster quelque part dans une classe

Enfin ce n'est vraiment que des broutilles cela mérite bien le 10/10
cs_Willi
Messages postés
2377
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
15 -
@Falcon4ever: Il n'a pas été testé sous vista mais pour les accès demandés par le code il faut démarrer Visual Studio ou tout autre éditeur C#.net en mode Administrateur !

@Avengerfrance: Ce bouton "Retrieves MFT infos" a été rajouter pour montrer les étapes nécessaires à la lecture de la MFT.

Les améliorations, corrections de bugs et nouvelles fonctionnalités il y en aura bientôt c'est sur !!
Ce code répondait avant tout à un de mes besoins juste parcourir la MFT.
Je viens de voir les possibilités qui s'offraient il y a moyen de faire plein de "trucs sympa" autour (défrag, récupérer fichier supprimer, cartographie, etc...)

++
Axoltl
Messages postés
11
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
19 janvier 2007
-
Cher willi, cher avenger (nous on se connait hein, dark side team rulez), il me semble qu'on se trouve là devant une rencontre au sommet.
Loin de moi l'idée de jouer les entremetteuses pour geek mais a mon humble avis, vous devriez rester en contact tous les deux.
Mon petit doigt me dit que vous avez des choses en commun.

Donc oui, ce sera 10/10
et voici pourquoi:
NTFS, ce n'est pas une partie de plaisir, c'est propriétaire, la pêche aux infos et longue et laborieuse (pleins d'infos partout mais rarement complet).

Quelques rares codes source sous windows qui ont une facheuse tendance a disparaitre.

Il faut etre rigoureux.

On trouve des sources vraiment très complettes sous linux (ntfs-3g) mais la lecture n'est pas triviale, non plus que le portage.

C'est relativement propre et ca fonctionne, c'est du bon boulot.

Bon on sacrifie à la mode du c#.

nul n'est parfait.
Mais du coup le portage en delphi s'en trouve facilité.

Tu tiens quelque chose qui fait office de CV dans quelques boites.

Voilà, continue comme ça.
Et merci de publier tes sources, ca fait avancer le shmilblick

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.