Seite 1 von 1
EncFS Windows Commandline Befehls Übergabe
Verfasst: 14.11.2011 15:34
von Coder Pinhead
Hallo,
Hat zufällig jemand eine Idee wie ich von
EncFS den unten genannten Befehl ausführe kann und permanent versteckt im Hintergrund Laufen lasse damit meine Verschlüsselte Partition gemountet bleibt?
Per Batch sehe das ganze so aus:
Hatte das ganze schon mit RunProgram versucht kriege es aber irgend wie nicht hin.
Danke schon mal im Voraus für die Hilfe

.
Re: EncFS Windows Commandline Befehls Übergabe
Verfasst: 14.11.2011 15:56
von Kiffi
Coder Pinhead hat geschrieben:Hatte das ganze schon mit RunProgram versucht kriege es aber irgend wie nicht hin.
hast Du den Parameter #PB_Program_Hide verwendet?
Grüße ... Kiffi
Re: EncFS Windows Commandline Befehls Übergabe
Verfasst: 14.11.2011 16:17
von Coder Pinhead
Kiffi hat geschrieben:hast Du den Parameter #PB_Program_Hide verwendet?
Nein, hatte es über ein Fenster mit HideWindow versucht.
Aber was nützt es mir wenn ich nicht mal über die Command-line hinaus komme was ich oben geschrieben hab. Per Batch-Datei lässt sich
EncFS Prima starteten und Mounten nur halt nicht von einer selbst Kompilierten *.exe per RunProgramm.
Re: EncFS Windows Commandline Befehls Übergabe
Verfasst: 14.11.2011 16:32
von Kiffi
Coder Pinhead hat geschrieben:nur halt nicht von einer selbst Kompilierten *.exe per RunProgramm.
diese Info hätte in Dein Urspungsposting gehört. Ist aussagekräftiger
als "kriege es aber irgend wie nicht hin".
Dann schreib halt ne Batch auf die Platte und führe diese aus.
Grüße ... Kiffi
Re: EncFS Windows Commandline Befehls Übergabe
Verfasst: 14.11.2011 16:45
von ts-soft
Code: Alles auswählen
RunProgram("EncFS", #DQUOTE$ + "PASSWORT|encfs Y:\Encryption Z:\ -S" + #DQUOTE$, "", #PB_Program_Hide | #PB_Program_Open)
Wobei ich mir jetzt nicht sicher bin, ob #PB_Program_Open für Hide erforderlich ist, #DQUOTE ist evtl. auch
falsch, einfach probieren.
Gruß
Thomas
Re: EncFS Windows Commandline Befehls Übergabe
Verfasst: 14.11.2011 18:32
von Coder Pinhead
Kiffi hat geschrieben:Dann schreib halt ne Batch auf die Platte und führe diese aus.
Ist aber nicht gerade die beste und Komfortabelste Lösung da dann ständig die Command-line in der Taskleiste laufen muss.
ts-soft hat geschrieben:Wobei ich mir jetzt nicht sicher bin, ob #PB_Program_Open für Hide erforderlich ist, #DQUOTE ist evtl. auch falsch, einfach probieren.
Funktioniert weder mit "DQUOTE$, #PB_Program_Hide, #PB_Program_Open noch ohne.
Keiner eine Idee? Würde das schon gerne in PureBasic zumlaufen bekommen damit ich mir später noch ein Tray zusammenbasteln kann zum Mounten und Unmounten der Verschlüsselten Festplatte. Hauptsache das Grundgerüst Funktioniert schon mal. Notfalls muss ich halt auf Sachen wie "
Bat To Exe Converter" zurückgreifen.
Re: EncFS Windows Commandline Befehls Übergabe
Verfasst: 15.11.2011 20:41
von NeoXiD
ts-soft hat geschrieben:Code: Alles auswählen
RunProgram("EncFS", #DQUOTE$ + "PASSWORT|encfs Y:\Encryption Z:\ -S" + #DQUOTE$, "", #PB_Program_Hide | #PB_Program_Open)
Wobei ich mir jetzt nicht sicher bin, ob #PB_Program_Open für Hide erforderlich ist, #DQUOTE ist evtl. auch
falsch, einfach probieren.
Gruß
Thomas
Ich denke ich sehe da das Problem. Das Zeichen "|" ist für Piping und leitet eine Eingabe direkt an eine Ausgabe um. Mit einer .bat funktioniert dies ja wunderbar, doch wenn du "EncFS" mit dem oberen Befehl startest, wird das Programm komplett falsche Parameter erhalten, da PureBasic dieses Pipingzeichen logischerweise nicht beachtet. (Muss es auch nicht, seie dazu angemerkt)
Ich habe mir dein Programm genauer angeschaut und dabei bemerkt, dass es das Passwort per stdin einliest. Um in PureBasic den gewünschten Effekt zu erreichen, musst du also so vorgehen:
Code: Alles auswählen
PID = RunProgram("EncFS", "C:\Crypted C:\plain -S", "", #PB_Program_Hide | #PB_Program_Open | #PB_Program_Write)
WriteProgramStringN(PID, "DEIN PASSWORT HIER")
Damit ging hier alles problemlos

Mit dem Flag #PB_Program_Read und ReadProgramData/String kannst du sogar noch die Rückgabe von EncFS auslesen, also könntest du somit z.B. eine Fehlerbehandlung noch einbauen. (Bei einem falschem Key oder ähnliches) Viel Spass damit und noch einen schönen Abend!
Re: EncFS Windows Commandline Befehls Übergabe
Verfasst: 18.11.2011 11:53
von Coder Pinhead
NeoXiD hat geschrieben:Code: Alles auswählen
PID = RunProgram("EncFS", "C:\Crypted C:\plain -S", "", #PB_Program_Hide | #PB_Program_Open | #PB_Program_Write)
WriteProgramStringN(PID, "DEIN PASSWORT HIER")
Danke, das wars

.
Man warum bin ich nicht selbst drauf gekommen das Passwort mit WriteProgramStringN zu übergeben na ja was solls manchmal sieht man den Wald vor lauter Bäume nicht

.