Bonjour à Tous,
Comment supprimer définitivement des fichiers sur un disque de sorte à ne pas pouvoir les récuppérer même avec les utilitaires de restauration de fichiers.depuis vb.net.
Merci d'avance.
Bonjour à Tous,
Comment supprimer définitivement des fichiers sur un disque de sorte à ne pas pouvoir les récuppérer même avec les utilitaires de restauration de fichiers.depuis vb.net.
Merci d'avance.
il faut réécrire par dessus...
Un truc comme ça :
On doit pouvoir améliorer les perfs en utilisant un buffer, mais tu vois l'idée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Using fs As New FileStream(cheminDuFichier, FileMode.Open, FileAccess.ReadWrite) Dim length as Long = fs.Length fs.SetLength(0) For i = 0 to Length - 1 fs.WriteByte(0) End For End Using File.Delete(cheminDuFichier)
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Kill(MonFichier) ne suffit pas ?
Ou alors en s'inspirant de la précédente idée de "réecrire dessus" :
Voilà !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim Ecrire Ecrire = New StreamWriter(LeCheminDeTonFichier) 'Ouvre un fichier pour le lire Ecrire.WriteLine()' On écris une ligne qui effaçera toutes les autres, donc "formatera le fichier" Ecrire.Close() Kill(LeCheminDeTonFichier)' Tu le supprime le plus simplement du monde. Même si la personne le récupère, le fichier sera vide car tu l'aura "formaté" avant ^^
Xavier
Kill, c'est une fonction VB6 qui n'est encore présente en VB.NET que pour faciliter la migration... Il faut utiliser System.IO.File.Delete ou encore My.Computer.FileSystem.DeleteFile (spécifique à VB.NET)
non, c'est absolument faux... "une ligne qui effacera toutes les autres" ? Une nouvelle ligne, c'est juste 2 caractères ("\r\n" ou vbCrLf ou vbCr + vbLf), soit 2 octets... ça n'écrase pas du tout le reste du fichier
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Oui bon je en même temps on peut se tromper ^^. Mais si tu as un fichier mettons le fichier "Coucou.txt" à la racine du disque C:, qui contient un texte "Bonjour au tous les membres du forum de developpez.net", si tu écris de la manière avec Variable.WriteLine("C:\Coucou.txt"), lorsque tu le ré-ouvre il n'y a plus rien dedans...
Xavier
c'est juste, mais faux à la fois.
Il faudrait pouvoir "formater" n'importe quel fichier. Et là le plus dur reste de savoir quel sont les clusters du HDD utilisés pour ce fichier.
Sinon y a la méthode bourin, écrire plusieurs fois un fichier sur l'éspace libre du hdd (aprés vidange de la corbeille et redémarrage) pour être sur d'avoir que des "bouts" lisiblent par un soft "pro" de récupération de données.
cordialement @dn
Absolument, je ne dis pas le contraire
Il n'y a apparemment plus rien dedans, du point de vue du système de fichier... mais les données non écrasées sont toujours présentes sur le disque, et un logiciel spécialisé peut les récupérer, ce que justement monmiez ne veut pas
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Je confirme les dires de tomlev, car il suffit que les adresses fat du fichier soit totalement differentes, et tout sera recuperable.
En fait, pour être sûr que TOUTES les donnees soient ecrasees, il faudrait que les allocations soient exactement les memes et de meme longueur sur toute la longueur du fichier.
Et encore, j'ai vu des softs (apres plusieurs phases et passes d'effacement) retrouver tout ou parties ...
La seule solution pour eradiquer des datas sur un disque, c'est le formatage bas niveau (lol oui oui j'exagere )
Que les neurones soient avec toi, jeune padawan.
Ne pas oublier, qu'un métier, développer être.
Effectuer des recherches et lire les tutos, avant de poster, tu dois.
Aucune question technique, faites par MP, tu ne dois.
En vb.net je doute que cela soit faisable
Par contre en assembleur, je me souviens qu'il suffisait juste de faire un jmp vers une adresse (me souvient plus laquelle) et ca lancait un petit soft interne au dos et qui permettait de faire un formattage bas niveau sur n'importe quel disque dur de n'importe quelle marque (que de souvenirs )
Que les neurones soient avec toi, jeune padawan.
Ne pas oublier, qu'un métier, développer être.
Effectuer des recherches et lire les tutos, avant de poster, tu dois.
Aucune question technique, faites par MP, tu ne dois.
Ou sinon il reste la bonne vieille méthode de l'aimant
/plus là
<Théorie>
Si on écrit un fichier c'est une chose.
Si on fait fs.SetLength(0) AVANT d'écrire, on provoque la libération de l'espace alloué par le fichier et une nouvelle allocation pour l'écriture, byte par byte (ce qui est d'ailleurs d'une lenteur phénoménale) et donc aucune garantie d'avoir écraser quoique ce soit.
Laisser le fichier avec la même taille mais écrire par dessus avec un buffer de 4 Ko par exemple (initialisé à n'importe quoi) PUIS de supprimer le fichier ou définir sa taille à zéro devrait résoudre le pb (car là on alloue rien, on écrit sur un espace déjà alloué).
</Théorie>
De la vallée du vent ...
Distribution d'applications .NET avec DreamShield
DreamShield, Le site, forum, blog, wiki & Jeux
Mon blog, Cours et tutoriels pour apprendre C#, forum C#, Offres d’emploi développeur C#
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager