AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte VPHD - Virtual private hard-disc

VPHD - Virtual private hard-disc

Ein Thema von olee · begonnen am 3. Jan 2012 · letzter Beitrag vom 23. Aug 2015
Antwort Antwort
Seite 4 von 6   « Erste     234 56   
Benutzerbild von olee
olee
Registriert seit: 16. Feb 2008
Hallöchen alle zusammen!

Habe mich lange Zeit nicht hier im Forum blicken lassen, da ich in letzter Zeit leider zu viel mit Uni (und zocken xD) zu tun hatte.
Aber ich dachte mir, dass ich das mal endlich hinter mich bringen sollte.
Naja lange Rede kurzer Sinn:

Ich möchte euch hier mein neustes (altes) Projekt VPHD vorstellen.

Bei diesem Tool handelt es sich wie der Name schon ausdrückt um eine art Archiv für Dateien zur sicheren Aufbewahrung.
Der große Unterschied und auch Vorteil dieses Programms im Gegensatz zu normalen verschlüsselten Archiven wie WinRar, 7zip und Co. ist, dass dieses Format auf sehr große Datenmengen und vor allem das häufig Hinzufügen, Löschen und Ändern von Daten ausgelegt ist.
Übliche Archive müssen bei jeder Veränderung des Inhaltes neu geschrieben werden, was bei einer Änderung einer kleinen Datei in einem etwa 2 GB dann schon mal so 10 minuten dauern kann.

Das Format von VPHD hingegen verhält sich, wie der Name schon sagt, mehr wie ein Dateisystem.
Der Vorteil ist, dass das Hinzufügen, Löschen und Ändern von Dateien nur so lange dauert, wie das schreiben eben dieser einen Datei.
Beim Löschen wird demnach nicht mehr gemacht als im Dateiindex des Containers der Speicherbereich der Datei als Frei markiert, ähnlich einer normalen Festplatte.
Diese Lücken werden dann nach und nach durch Hinzufügen neuer Dateien und eine einfache Optimierung nach und nach wieder gefüllt.

Die wichtigste Funktion von VPHD liegt jedoch in der (optionalen) Verschlüsselung von Containern.
Damit lassen sich beliebige Dateien in einem passwort-geschütztem Container aufbewahren, welcher sich jedoch ohne großen Aufwand schnell auslesen lässt.

Hier eine kleine Zusammenfassung der Features des Programms:
  • Einfaches Hinzufügen / Extrahieren von Dateien per Drag'n'Drop
  • Es lassen sich wahlweise verschlüsselte oder unverschlüsselte Container anlegen
  • Archive lassen sich in eine ausführbare Anwendung umwandeln, wodurch sich die Daten von überall her lesen lassen
    (Nur das Verändern in diesem Format geht noch nicht so einfach)
  • Das Programm ist (bisher) in Deutsch und Englisch verfügbar (ja nach Systemeinstellung)

Mit freundliche Grüßen
Björn Zeutzheim


PS: Hier die direkten Download-Links:
VPHD Setup (916 KB)
VPHD mit Sourcen (1.454 KB)
Codename: Performancepumpe

Geändert von olee (28. Jun 2015 um 00:40 Uhr)
 
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#31
  Alt 5. Jan 2012, 23:00
Die Reduzierung der Archivgröße durch Anlegen von Hardlinks oder noch schlimmer: Wiederverwenden von einzelnen Chunks
Eine Kompression habe ich in Erwägung gezogen, jedoch würde das dann am Hauptziel des Formates - nämlich der Geschwidigkeit - vorbei gehen.
Jedoch habe ich schon vor, das noch als Feature zu implementieren (Kompression mit ZLib).
Das Problem ist jedoch, dass vor dem Verarbeiten der Daten noch unbekannt ist, wie viel davon nach der Komprimierung noch übrig bleibt.
Wobei... das ist kein Problem, sondern nur ein Hindernis

Anlegen einer Historie, also die Änderungen speichern und Zugriff an spezielle benennbaren Zeitpunkte (z.B. nach einem Backup) ermöglichen.
Meinst du damit eine Art Versionierungssystem?
Wäre möglich, aber ich denke dass das nicht wirklich nötig ist.
Außerdem würden Leute, die ein solches Feature brauchen, sowieso auf andere Lösungen zurückgreifen.
(In dem Fall würde man am ehesten ein verschlüsseltes Laufwerk nutzen).

"Sicheres" Splitten in mehrere kleinere Dateien, vllt. so wie bei RAR, wo Teile beschädigt sein können. Natürlich sollte man es auch wieder zusammenfügen können.
Splitten ist durchaus eine interessante Idee auch wenn es das ganze um einiges komplizierter machen wird.
Man müsste dann schon beim öffnen des Archives....
Moment mal das IST möglich ^^
Gerade kam mir eine Idee.
Man kann ein Archiv mittels eines Streams öffnen.
D.h. falls der Bedarf besteht, ist nur eine von TStream abgeleitete Klasse nötig, welche mehrere Dateien in einem zusammenhängenden Stream kombiniert(sowas lässt sich ja recht einfach schreiben).
Ich werde mich mal darum kümmern, falls ich Lust drauf hab

Die Verschlüsselung würde ich nicht als Alternative zu TrueCrypt und Co. "bewerben", bei Kryptografie kann man so viele Fehler machen
An diesem Punkt sollten keine Bedenken vorhanden sein.
Ich würde ohne zu zögern meine Kontodaten mit Pin und Co. darin verpacken und weitergeben.
Das Format ist so sicher, wie das Verschlüsselungsverfahren es zulässt.
Und RC4 welches ich verwende ist da ja wohl ausreichend, um bestimmt 99,9999% der Welt davon abzuhalten, den Inhalt zu entschlüsseln.

Außerdem wäre es interessant zu wissen, wie sich dein Dateiformat verhält, wenn das Programm während eines Schreibvorgangs abstürzt (muss ja nicht deine Schuld sein). Wird dann die Datei korrumpiert? Cool wäre natürlich, wenn es einen Crash-Save-Modus geben würde, in dem höchsten die zuletzt geschrieben Datei unbrauchbar wird (Anwendungsfall: Backup, das sollte besser nicht korrupiert werden.).
Ich habe das Format unter genau DIESEM Aspekt entwickelt.
Es ist absolut konsistent und es können höchstens die Dateien beschädigt werden, welche gerade in Verarbeitung sind (zur Zeit eines Absturzes).
Da die Dateien, welche hinzugefügt werden, sowieso in eben diesem Moment in einem anderem Medium (im Normalfall die Festplatte) vorhanden sind, ist das Format damit absolut sicher.
Einzige schwachstelle ist bisher die Defragmentierung, da dort erst fertig defragmentiert und optimiert wird und anschließend erst das Dateisystem geschrieben wird.
Nur allein während dieses Vorgangs besteht die Gefahr eines Datenverlustes.
Dieses Problem ließe sich nur dadurch lösen, indem nach jedem einzelnen Schritt in der Defragmentierung das Dateisystem neu geschrieben wird
(was a) Die Dauer der Defragmentierung erheblich steigern würde und b) eine Qual für die Festplatte wäre)
Björn Zeutzheim

Geändert von olee ( 6. Jan 2012 um 00:13 Uhr)
  Mit Zitat antworten Zitat
doctor-x
 
#32
  Alt 6. Jan 2012, 18:06
Zitat:
Also sollte es sich so verhalten?
Passwort abfragen, bis es richtig ist oder Cancel gedrückt wurde?
Und nachdem Cancel gedrückt wurde, das Programm komplett schließen?
Ich persönlich halte dieses verhalten für das angenehmste.
(Passwort abfragen, bis es richtig ist oder Cancel gedrückt wurde und wenn Cancel gedruckt wird schließt sich das Programm)

Zitat:
Tut mir leid, aber diesen Fehler konnte ich nicht reproduzieren.
a) Hast du die neuste Version verwendet?
b) Was GENAU hast du gemacht?
  1. Ich habe die neuste Version aus deinem Beitrag (Setup) v. 1.0.0.31
  2. Programm starten, neues Archiv anlegen, im erscheinenden Passwortdialog [OK] drücken (mit oder ohne Passwort spielt keine Rolle).

Mir ist noch aufgefallen, dass wenn ich kein Passwort für ein neues Archiv vergebe, dann Dateien in dieses Archiv lege und anschließend das Programm beende ich eine Division durch 0 Meldung bekomme. Bei Archiven mit PW kommt diese Fehlermeldung nicht.

MfG
Wolf
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#33
  Alt 7. Jan 2012, 01:57
So ich habe eine neue Version hochgeladen.
Folgende Verbesserungen wurden durchgeführt:
  • Formular schließt sich wenn ein Archiv mit Passwort geöffnet wird und die Eingabe des Pasworts abgebrochen wird
  • Große Verbesserungen am Defragmentierungs-Algorithmus
  • Viele Bugfixes.

@doctor-x: Funktioniert es mit der neusten Version?

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#34
  Alt 9. Jun 2012, 23:03
Hallo,

Habe mich lange nicht gemeldet, aber jetzt endlich mal wieder ein kleines Update bereit.

Habe nur ein paar kleine Bugs (Neues-Archiv-erstellen Bug und ein paar andere) behoben und die neue Version hochgeladen.

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
NickelM

 
Delphi 2009 Professional
 
#35
  Alt 10. Jun 2012, 00:03
Also das Programm hört sich für mich super an, da ich sowieso ein Tool gesuchthabe, womit ich auch von anderen Rechner auf die Daten zugreifen kann, und alles nur in einer Datei steckt.
So nun bekomm ich leider beim Erstellen schon einen Fehler
Nachdem ich beim Passwort-Dialog (egal ob etwas eingegeben oder nicht), auch egal was ich klicke, geschieht nichts. Wenn ich danach die Anwendung beende, bekomm ich diesen Fehler.
EDIT: Nach dem Dialog kommt die Meldung, dass ein andere Prozzes darauf zugreift.
Er erstellt mir die Datei mit 512 Bytes.
Komisch, nach dem Neustart des Programmes, kann ich normal auf die Datei zugreifen? Hä?

Caption der Meldung: Unexpected Memory Leak
Text der Meldung : An unexpected memory leak has occurred. The unexpected small black leaks are :
1 - 12 bytes : TFileStream x1

Ich hoffe du kannst etwas damit anfangen. Würde mich auf das Tool freuen und gerne testen.
Habe Win7 32bit. Egal ob mit Adminrechten ausgeführt oder ohne der gleiche Fehler.
Liegt auch nicht am Standort.
EDIT2: P.S. : Ich werde mir mal die Tage das Programm weiter anschauen und poste es dann, falls noch mehr Fehler sind. Wenns nur bei dem bleibt ist das okay xD
Nickel

Geändert von NickelM (10. Jun 2012 um 00:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#36
  Alt 10. Jun 2012, 00:29
Oh tatsächlich!
Da habe ich beim Ändern einen Fehler gemacht.
Gefixte Version in ca. 5-10 min da!
Björn Zeutzheim
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#37
  Alt 10. Jun 2012, 00:41
Neue Version wurde hochgeladen!

Danke für den Hinweis!
Björn Zeutzheim
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

 
Delphi 10.4 Sydney
 
#38
  Alt 10. Jun 2012, 02:11
- Neues Archiv
- 2 Dateien hinzugefügt (kleines JPeg + 422 MB-Video)
- Programm reagiert lange nicht und lastet einen CPU-Kern voll aus ( keine Prozessanzeige? )
- Dateien gelöscht
= "Ungültige Gleitkommaoperation." beim Anzeigen der Statistik

[add]
Die Konsole ohne Parameter einfach so gestartet, macht sie so durchschnittlich geschätzte 10-30 Sekunden nix und raucht dann einfach ab.
Zitat:
Exception EAccessViolation in Modul VPHD_console.exe bei 0002133F.
Zugriffsverletzung bei Adresse 0042133F in Modul 'VPHD_console.exe'. Lesen von Adresse 00000000.
PS: Sicher daß Lizens in deiner Lizenz richtig geschrieben ist?

[edit]
Krass ... es wird ja doch verwendet

Geändert von himitsu (10. Jun 2012 um 02:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#39
  Alt 10. Jun 2012, 02:35
Leider konnte ich den Fehler nicht reproduzieren, aber ich hatte an der Version, mit der ich es versucht habe, ein paar kleine Änderungen gemacht.
Könntest du es mit der neusten Version noch einmal versuchen bitte?

Außerdem ist das mit der Prozessauslastung etwas merkwürdig, da eigentlich fast alle Operationen fast ausschließlich I/O lastig sind, und die CPU fast icht benötigt wird, es sei denn, es kommt verschlüsselung ins Spiel.

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
NickelM

 
Delphi 2009 Professional
 
#40
  Alt 10. Jun 2012, 16:40
Bei dem Fehler mit der Gleitkommawert muss ich himitsu zustimmen.
Er entsteht, wenn keine Dateien im Container sind. Wenn eine drin ist kommt er nicht mehr.
Bei der Konsole meldet Windows7 nach dem Start, dass die Anwendung nicht mehr funktioniert.
Dass mit der CPU-Auslastung liegt an dem Problem, dass ich dir per PN schon geschrieben habe.

Gruß NickelM
Nickel
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf