[Text] Einen Shredder erstellen Verfasst am: 06.01.2008, 00:29
Erstellen eines Shredders
_______________________
Hi! Heute möchte ich euch in meinem ersten text tut
erklären wie man einen shredder erstellt
___________________________________
er soll funktionen haben so wie schnelles löschen
sicher löschen mit überschreiben und auch
schreibgeschützte datein löschen können
________________________________________
also los gehts!
Wir brauchen
1x commondialog
1x textbox
2x Commandbutton
2x Optionsboxen
________________________________________
Jetzt Fügen wir das auf unsere Form
das es in etwa so aussieht
_________________________________________
Nun öffnen wir den commandbutton neben der
textbox
um dort drinn zu coden
Hier Schreiben wir rein :
Code:
With Commondialog
.showopen
end with
text1.text = commondialog.filename
'Es sollte klar sein was das heißt
'wenn nicht
'Text1.text ist der pfad
__________________________________________
Jetzt zum code des shredders
also fangen wir mit den optionsboxen an
denn dadurch wird ja bestimmt was wir machen
Code:
if option1.enabled = true then
'also ist ist die erste option box gewählt dann ...
'Wir wollen ja das jetzt sicher gelöscht wird
'und die datei erstmal schreibgeschützt
'deaktiviert wird
SetAttr(Text1.text, vbnormal) 'Schreib Schutz Deaktiviert
Open Text1.text for output as #1 'Jetzt Überschreiben wir die datei
print #1, "Diese Datei wurde geshreddert 123dsdsdfhhhhfh "
close #1
kill text1.text ' Hier wird die datei "Gekillt" also geshreddert
end if
'jetzt zu option2 das schnelle löschen
'hier nehmen wir einfach
if option2.enabled = true then
kill text1.text 'also ohne irgendwas an code
end if
CashPoints von ZiG vergeben
_________________
Rausch_ Poster
Anmeldedatum: 03.11.2007 Beiträge: 164
Verfasst am: 06.01.2008, 00:51
eig. gutes tut, nur hab ich was zu mecken:
Zitat:
With Commondialog
.showopen
end with
text1.text = commondialog.filename
ja entweder with, oder kein with .
Zitat:
print #1, "Diese Datei wurde geshreddert 123dsdsdfhhhhfh "
ich würde mal sagen das bringts nicht so ganz, man müsste jedes byte einzeln mit ner 0 bzw. sinnlosem code überschreiben, da man sonst nur ein teil der datei überschreibt.
Ich habe mal nachgeschaut, ich habe mal den Source von einem richtigen File Shredder gefunden, schau ihn dir mal an, du hast drei Fehler gemacht:
1. Du überschreibst nur eine bestimmte länge nicht die ganze Datei (wie Rausch schon gesagt hat)
2. Du überschreibst die Datei (den Teil) nur einmal, richtige Shredder machen das mehrmals weil einmal Shreddern nicht unbedingt reicht
3. Du benutzt immer den selben String zum überschreiben statt einen Zufälligen, sich immer ändernden
Hier mal die Funktion vom richtigen Shredder:
Code:
Public Sub WipeFile(sFile As String, Loops As Integer, Delete As Boolean)
Dim sLen As Long, X As Integer, FF As Byte
Dim Rand As Byte, Char As String
Randomize
For X = 0 To Loops
If X = CInt(Loops / 2) Then PB.Value = PB.Value + 5
FF = FreeFile
sLen = FileLen(sFile)
Open sFile For Binary As FF
Rand = Int(255 * Rnd) + 1
Char = String(sLen, Chr(Rand))
Put #FF, , Char
Close FF
Reset
Refresh
Next X
If Delete = True Then Kill sFile
End Sub
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 06.01.2008, 12:22
@Blue!Sky!
Also wir haben ja Gestern schon in ICQ drüber geredet und ich hab dir gesagt das du mit Kritik rechnen mußt.
Aber das dein Tut so kurz ist und eigentlich garnichts richtig erklärt, hätte ich mir nicht gedacht.
Abgesehen davon dass du dir ein Thema ausgesucht hast, mit dem du dich nicht wirklich beschäftigt hast.
Wenn du die Datei "auf einen Rutsch" überschreiben willst, dann sollte vorher der String mit Zufallszeichen gefüllt werden. Die Länge des string sollte natürlich der Länge der Datei entsprechen.
Diese Methode hat den Vorteil, dass die Datei ziemlich schnell überschrieben wird. Eben auf einen Rutsch.
Nur gibts da ein Problem. Wenn die Dateien recht groß sind, sollte man diese Methode nicht benutzen, da ja im Arbeitsspeicher vorher ein String mit der selben Größe der Datei erzeugt wird.
Und immer nur ein Zeichen in einer Schleife in die Datei zu schreiben würde Ewigkeiten dauern, da die HDD nie voll ausgelastet ist und aber dafür die CPU.
Also ist die beste Methode eine Datei Blockweise zu überschreiben.
Hat den Vorteil das der RAM nicht zu sehr belastet wird und die Schreibgeschwindigkeit der HDD trotzdem voll ausgenutzt wird ohne das die CPU zuviel arbeiten muß.
Sorry, aber du hast dir einfach das falsche Thema ausgesucht. _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)