Hallo,
ich schreibe mir gerade ein kleines Programm, welches KeePass nutzt um das Password für per DMCrypt verschlüsselte Laufwerke zu speichern, bzw. zum automatischen mounten zu verwenden.
Hier generiere ich mir einen String, welcher mittels Mono und der Bash den Aufruf durchführt. Mit einfachen Passwörtern funktioniert das schon, aber mit "komplexeren" scheitere ich an den ganzen Escape-Sequenzen beim Aufruf von echo, bzw. dem Befehl allgemein.
Hier mal ein ungequoteter Beispiel-Aufruf:
/bin/bash -c "echo 'Y:}>?ht}?!#zVcQh|u-x^[zT@,0G`aP0m:2h'L<=-@c[lb*Y7DJ|d$oZ7/7yYv,`q!bv8@hDz&"6D!5;q-}l"S004]L#@0!v|4ö+D&u~C-y63.:;l_Wq\.c:[' | cryptsetup create --key-file=- DeviceMapperName /dev/disk/by-id/device"
Vorgehen war bisher das Ersetzen der geschützen Zeichen innerhalb des echo-Aufrufs:
1.) Ersetzen von \ durch \
2.) Ersetzen von ' durch '\''
3.) Ersetzen von " durch \"
Dies habe ich in verschieden Reihenfolgen miteinander kombiniert und entweder quittiert das Programm es mit "Unfinished quote" oder es legt das DeviceMapper-Device an, ich kann es dann aber nicht mounten da die Kopfzeile falsch ist. 🙁
Ich bekomme hier langsam einen Knoten in den Kopf und brauche eure Unterstützung. 🙂
Vielen Dank, PaulchenPlump