visualbasic
Goto Top

Speicherplatz des USB-Sticks oder der externen Festplatte mit einem Speicherplatz-Platzhalter verkleinern

Möchte eine Datei mit vb.net programmieren, die immer den gesamten Speicherplatz des Sticks verbraucht

Hallo
Ich würde gerne ein Programm schreiben, welches immer den gesamten Speicherplatz des Sticks verbraucht, damit sich auch keine Viren draufkopieren können.
Ich habe schon ein Programm geschrieben (sehr störanfällig), dass immerhin einiges vollmacht:

<code vb>
Do
My.Computer.Filesystem.WriteAllText([Jetzt hier 65.000 Zeichen], True)
Loop

Content-Key: 190434

Url: https://administrator.de/contentid/190434

Printed on: April 18, 2024 at 07:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Aug 29, 2012 updated at 13:34:35 (UTC)
Goto Top
mon,

Wie kommst Du drauf, das der Virus/Trojaner drum schert, ob da noch Platz auf dem Stick ist, wenn er da drauf will? das ist wie mit den Rowdies in Bussen und Bahnen: Da wird einfach jemand anders "herausgeworfen", damit man selber Platz hat.

lks

Nachtrag:

Mit einem einfachen

copy ganz-große-riesendait-vielleicht-eine9-GB-iso STICK:

bekommst Du jeden Stick voll.
Member: visualbasic
visualbasic Aug 29, 2012 at 13:44:07 (UTC)
Goto Top
Zitat von @Lochkartenstanzer:
Mit einem einfachen

> copy ganz-große-riesendait-vielleicht-eine9-GB-iso STICK:
> 

der stick hat 32 GB


Bleib mal ernsthaft
Member: wiesi200
wiesi200 Aug 29, 2012 at 13:54:40 (UTC)
Goto Top
Mal ernsthaft glaub ich kaum das es den gewünschten Effekt kriegt.

Ich würd mir da eher einen Stick zulegen den man per Schalter einen Schreibschutz verpassen kann.
Member: it-frosch
it-frosch Aug 29, 2012 at 13:55:58 (UTC)
Goto Top
Hallo visualbasic,

ich würde so an die Aufgabe herangehen:

1. Programm ermittelt den USB Stick und dessen freien Speicherplatz.
2. Programm schreibt auf den USB Stick eine Datei die genau so groß wie der leere Speicherplatz ist.

Lochkartenstanzer hatte dir den Tip gegeben, wenn die Größe der USB Sticks bekannt ist, eine ISO Datei der gleichen Größe auf den Stick zu kopieren was das gleiche Ergebnis bringt.

Ob du damit einen Schutz vor Viren hast, hängt von deren Programmierung ab.

grüße vom it-frosch
Member: visualbasic
visualbasic Aug 29, 2012 at 13:56:51 (UTC)
Goto Top
Kannst du mir trotzdem helfen?
Ich will auch mal bissl rumexperiemntieren; oder meinen bruder ärgern, dass sein stick voll ist (der hat nur 4 GB).
Member: visualbasic
visualbasic Aug 29, 2012 at 14:00:40 (UTC)
Goto Top
Zitat von @it-frosch:
Hallo visualbasic,
1. Programm ermittelt den USB Stick und dessen freien Speicherplatz.
Wie mach ich das?

2. Programm schreibt auf den USB Stick eine Datei die genau so groß wie der leere Speicherplatz ist.
Wie das?


Lochkartenstanzer hatte dir den Tip gegeben, wenn die Größe der USB Sticks bekannt ist, eine ISO Datei der gleichen
Größe auf den Stick zu kopieren was das gleiche Ergebnis bringt.
Warum unbedingt ISO?

grüße vom it-frosch
Member: chaotize
chaotize Aug 29, 2012 at 14:01:19 (UTC)
Goto Top
Hallo visualbasic,

wie Lochkartenstanzer schon gesagt hat würde es dir nicht wirklich viel nutzen den Stick mir 32gb voll zu knallen bis auf das eine 32gb übertragung mehr als eine halbe stunde braucht und du danach nen vollen Stick hast den dann eh kein mensch mehr gebrauchen kann. Wenn ihn dann niemand mehr gebrauchen kann wieso sollte man ihn dann an einen PC anschließen und wenn man ihn nicht am pc anschließt hat man auch keine Viren darauf.
Nun ja ich schweife ab fakt ist, dass Viren sich gerne in partitionen fest setzen die du eh nicht beschreiben kannst oder sie löschen einfach irgendwas und setzen sich da rein.
Member: visualbasic
visualbasic Aug 29, 2012 at 14:06:03 (UTC)
Goto Top
Ja, aber kann ich trotzdem irgendwas machen, was so ähnlich ist wie

timer1.interval=1
Private Sub Timer1_Tick() Handles Timer1.Tick
        My.Computer.FileSystem.WriteAllText("C:\vollschreiben", [[65.000 Stellen]], True)  
    End Sub
Member: wiesi200
wiesi200 Aug 29, 2012 at 14:13:45 (UTC)
Goto Top
Für was brauchst du denn da den Timer?
Und Bruder ärgern. Der löscht die Datei und gut ist.
Member: visualbasic
visualbasic Aug 29, 2012 at 14:31:24 (UTC)
Goto Top
Zitat von @wiesi200:
Für was brauchst du denn da den Timer?
Der Timer schreibt jede 1000stel-Sekunde 65.000 Zeichen in die Datei

Und Bruder ärgern. Der löscht die Datei und gut ist.
Nicht wenn ich ein
if file exist then 
[mach datei]

Also was kann ich machen?
Member: Lochkartenstanzer
Lochkartenstanzer Aug 29, 2012 updated at 14:41:27 (UTC)
Goto Top
Zitat von @visualbasic:
Bleib mal ernsthaft

Ich bin ernsthaft.
Wenn ich ein späßeken hätte machen wollen, hätte ich gesagt, pack den Stick in einen Pariser. Dann kommen keine Viren dran.

Zum Befüllen:

Dann starte einfach von einer linux-CD/einem linux-Stick und tippe:

dd if=/dev/zero of=/media/pfad-zum-stick/leere-datei-zum-fuellen

Damit knallst du dann deinen Stick bis zum letzten byte "voll", auch denn das nicht sinnvoll ist und außerdem deinen Stick langsam macht.

lks
Member: wiesi200
wiesi200 Aug 29, 2012 at 14:39:47 (UTC)
Goto Top
Kein Wunder das die Software "sehr störanfällig" ist.
Zum einen du musst erkenn wie große der freie Platz ist.
Wir vielleicht auch mal Google an.

Dann darf da es ja noch FAT gibt deine Datei nicht größer als 4GB sein.
Sprich du musst eigentlich die freie Größe durch 4GB teilen eine entsprechende Anzahl an dateien erzeugen und dann noch eine zusätzlich

Die Datei solltest du so "vernünfiger" erstellen können.
Public Sub MakeDummyFile(ByVal FileName As String, ByVal FileSize As Long)
    Dim FS As New FileStream(FileName, FileMode.Create)
    FS.SetLength(FileSize)
    FS.Close()
End Sub

Was soll das mit
if file exist

vor dem löschen schützt das überhaupt nicht.
Member: Lochkartenstanzer
Lochkartenstanzer Aug 29, 2012 at 14:44:08 (UTC)
Goto Top
Zitat von @visualbasic:
Warum unbedingt ISO?

Weil das i.d.R. große dateien sind. Du kannst Die aber auch auf der Platte eine Große datei erzeugen und die nehmen.

lks
Member: visualbasic
visualbasic Aug 29, 2012, updated at Aug 30, 2012 at 05:19:36 (UTC)
Goto Top
Zitat von @wiesi200:
Kein Wunder das die Software "sehr störanfällig" ist.
is mir klar

Dann darf da es ja noch FAT gibt deine Datei nicht größer als 4GB sein.
Sprich du musst eigentlich die freie Größe durch 4GB teilen eine entsprechende Anzahl an dateien erzeugen und dann noch
eine zusätzlich
Unsere Sticks sind alle NTFS

Die Datei solltest du so "vernünfiger" erstellen können.
> Public Sub MakeDummyFile(ByVal FileName As String, ByVal FileSize As Long)
>     Dim FS As New FileStream(FileName, FileMode.Create)
>     FS.SetLength(FileSize)
>     FS.Close()
> End Sub
> 
Danke

Was soll das mit
> if file exist
> 

vor dem löschen schützt das überhaupt nicht.
Stimmt


EDIT
Ich wollte ja eigentlich schon hier den Beitrag als Gelöst markieren; dann mache ichs halt jetzt face-smile
EDIT
Member: Lochkartenstanzer
Lochkartenstanzer Aug 29, 2012 at 14:46:14 (UTC)
Goto Top
Zitat von @visualbasic:
... meinen bruder ärgern, ...

Hier ist kein Kindergarten.

Bei Heise findest Du ein passenden Programm. Ich hätte Dir normaerweise zar den Namen und den Link gesagt, aber wenn das eh nur zu ärgern ist, brauchst Du es offensichtlich nicht.


lks
Member: visualbasic
visualbasic Aug 29, 2012 at 14:48:42 (UTC)
Goto Top
Zitat von @Lochkartenstanzer:
> Zitat von @visualbasic:
> ----
> ... meinen bruder ärgern, ...
Bei Heise findest Du ein passenden Programm. Ich hätte Dir normaerweise zar den Namen und den Link gesagt, aber wenn das eh

ich will selber programmieren und ich programmier nicht nur um meinen bruder zu ärgern (der ist 12)
Member: Lochkartenstanzer
Lochkartenstanzer Aug 29, 2012 updated at 15:10:26 (UTC)
Goto Top
Dann schreibe einfach ein Programm, das beliebig viele zeichen ausgibt, bis es abgebrochen wird oder auf einen fehler läuft.

Nach dem Motto:
wiederhole 
  Gebe-zeichen-aus("X");
Solange kein fehler;


was ist das Problem?

lks
Member: wiesi200
wiesi200 Aug 29, 2012 at 15:25:33 (UTC)
Goto Top
Zitat von @visualbasic:
> Dann darf da es ja noch FAT gibt deine Datei nicht größer als 4GB sein.
> Sprich du musst eigentlich die freie Größe durch 4GB teilen eine entsprechende Anzahl an dateien erzeugen und dann
noch
> eine zusätzlich
Unsere Sticks sind alle NTFS

Schau her, und so wird dein Programm Fehleranfällig.
Zuerst bist du her gegangen und hast einfach in eine Datei eine gewisse Menge an Zeichen rein geschrieben bis es nicht mehr funktioniert hat. Dann hat dein Programm abgebrochen.
Wenn du was lernen willst solltest du immer versuchen mögliche Fehler abzuschätzen und diese zu verhindern.
Sprich es gibt die Möglichkeit das der Fehler auftaucht, also irgendwie abfangen und wenn's nur über Try / Catch ist.

An sonsten geb ich LKS recht.
Member: it-frosch
it-frosch Aug 29, 2012 updated at 15:51:22 (UTC)
Goto Top
Hallo visualbasic,

1. Programm ermittelt den USB Stick und dessen freien Speicherplatz.
Wie mach ich das?
Schau dir VB.NET an was es da für Funktionen gibt um so etwas abzufragen.

2. Programm schreibt auf den USB Stick eine Datei die genau so groß wie der leere Speicherplatz ist.
Wie das?
Schau dir die entsprechende Syntax von VB.NET an.

Warum unbedingt ISO?
Muss nicht unbedingt ISO sein.

Kannst du mir trotzdem helfen?
Ich will auch mal bissl rumexperiemntieren; oder meinen bruder ärgern, dass sein stick voll ist (der hat nur 4 GB).
Sorry, aber dafür habe ich keine Zeit.
Deinen Bruder zu ärgern scheint mir eine gute Motivation zu sein sich mit einer Programmiersprache auseinanderzusetzen. Allerdings bin ich mir nicht sicher, ob das allein reichen wird. face-wink

grüße vom it-frosch
Mitglied: 60730
60730 Aug 29, 2012, updated at Aug 30, 2012 at 10:31:03 (UTC)
Goto Top
Moin,

Was issn hier los?

Zitat von @visualbasic:
Kannst du mir trotzdem helfen?
Ich will auch mal bissl rumexperiemntieren; oder meinen bruder ärgern, dass sein stick voll ist (der hat nur 4 GB).

Damit aergerst Du deine Eltern, denn so ein stueck hat ne gewisse lebensdauer, die sicherlich nicht laenger wird, wenn man(n) - kind passt wohl eher - mit muell vollballert....

Kauf dir nen chemiebaukasten...
Member: mrtux
mrtux Aug 30, 2012 at 00:41:43 (UTC)
Goto Top
Hi!

Zitat von @visualbasic:
Bleib mal ernsthaft

Ich frage mich warum Du meinst, dass er das nicht ernsthaft gemeint hat? Um einen Stick zu füllen braucht man keine VB Anwendung und deine Annahme, dass ein Stick sicher vor Malware wäre, nur weil er voll ist, ist völliger Unsinn.

Und jetzt bin ich mal ernsthaft: Das ist hier ein Forum für Administratoren und nicht für "Ich möchte was basteln mit dem ich meinen Bruder ärgern kann" - Forum.

Wenn Du ernsthaft VB lernen willst, dann such die nötigen Infos im Netz zusammen oder besorge Dir ein Buch darüber. Und wenn Du die grundlegenden Dinge über VB und das I/O Handling gelernt hast, dann können wir Dir hier gerne bei den Detailfragen helfen.

mrtux
Member: visualbasic
visualbasic Aug 30, 2012 at 05:14:48 (UTC)
Goto Top
Zitat von @wiesi200:
Sprich es gibt die Möglichkeit das der Fehler auftaucht, also irgendwie abfangen und wenn's nur über Try / Catch
ist.

Ich kenne mich mit
Catch ex as Exception
sehr gut aus! Meistens verschachtele ich sie ineinander wie eine HTML-Seite!
Member: visualbasic
visualbasic Aug 30, 2012 at 05:16:55 (UTC)
Goto Top
Zitat von @mrtux:
Hi!
Wenn Du ernsthaft VB lernen willst, dann such die nötigen Infos im Netz zusammen oder besorge Dir ein Buch darüber.
mrtux
Hab ich schon! Das Openbook von Galileocomputing lese ich so oft
Member: MonoTone
MonoTone Aug 30, 2012 at 08:32:15 (UTC)
Goto Top
Zitat von @visualbasic:
Hab ich schon! Das Openbook von Galileocomputing lese ich so oft

Das Buch ist nicht sonderlich gut und dennoch hättest du diese Frage nicht gestellt, wenn du es gelesen und verstanden hättest.
Member: visualbasic
visualbasic Aug 30, 2012 at 09:18:53 (UTC)
Goto Top
Zitat von @MonoTone:
Das Buch ist nicht sonderlich gut und dennoch hättest du diese Frage nicht gestellt, wenn du es gelesen und verstanden
hättest.

Was empfiehlst du mir dann?
Member: kontext
kontext Aug 30, 2012 at 13:08:55 (UTC)
Goto Top
Zitat von @visualbasic:
Was empfiehlst du mir dann?

HeyHo,

schau mal den Thread an:
Literatur bzw. Tutorials für VBS oder PowerShell

Cheers
Member: MonoTone
MonoTone Aug 30, 2012 updated at 14:30:42 (UTC)
Goto Top
Member: visualbasic
visualbasic Aug 31, 2012 at 06:42:07 (UTC)
Goto Top
Zitat von @Lochkartenstanzer:
Mit einem einfachen

> copy ganz-große-riesendait-vielleicht-eine9-GB-iso STICK:
> 

bekommst Du jeden Stick voll.

mit
> copy www.google.com:21
> 

ebenfalls
Member: Lochkartenstanzer
Lochkartenstanzer Aug 31, 2012 at 19:53:59 (UTC)
Goto Top
Zitat von @visualbasic:
mit
>
> > copy www.google.com:21
> > 

ebenfalls

???

offensichtlich hast Du nicht verstanden, was ich Dir sagen wollte.
Member: visualbasic
visualbasic Sep 05, 2012 at 13:21:23 (UTC)
Goto Top
Ich machs jetz einfach so: ich mach den stick schreibgeschützt
Member: Lochkartenstanzer
Lochkartenstanzer Sep 05, 2012 at 13:31:47 (UTC)
Goto Top
Zitat von @visualbasic:
Ich machs jetz einfach so: ich mach den stick schreibgeschützt

Nimm einen Stick mit echtem Schreibschutzschalter alles andere, was per Software Schreibgeschützt wird, ist nicht sicher vor bösen Programmen. Leider gibt es kaum noch Stck mit echtem Schreibschutzschalter.

lks
Member: visualbasic
visualbasic Sep 05, 2012 at 14:38:31 (UTC)
Goto Top
Hab jetzt einen Stick; der für immer Schreibgeschützt ist, da er Einen MCL-Chip eingebaut hatte, der Schreibvorgänge auf 10.000 Stück beschränkt