Archivmanager mit Passwortspeicher
-
- Beiträge: 650
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Archivmanager mit Passwortspeicher
Hallo,
gibt es unter Linux einen Entpacker der Passwörter in eine Datei schrieben oder aus dieser lesen kann? Unter Windows hatte ich mal so ein Programm im Einsatz. Das wäre speziell bei Downloads aus dem Netz die immer wieder mit dem gleichen Passwort geschützt sind sinnvoll. Oder vielleicht einen universellen Entpacker (d.h. der mit vielen Formaten klar kommt) für das Terminal der aus einer solchen Passwortdatei lesen kann und dann die dort gespeicherten durchprobiert.
gibt es unter Linux einen Entpacker der Passwörter in eine Datei schrieben oder aus dieser lesen kann? Unter Windows hatte ich mal so ein Programm im Einsatz. Das wäre speziell bei Downloads aus dem Netz die immer wieder mit dem gleichen Passwort geschützt sind sinnvoll. Oder vielleicht einen universellen Entpacker (d.h. der mit vielen Formaten klar kommt) für das Terminal der aus einer solchen Passwortdatei lesen kann und dann die dort gespeicherten durchprobiert.
Re: Archivmanager mit Passwortspeicher
CLI-Entpacker die Archive mit Passwörtern unterstützen, haben dafür einen entsprechenden Schalter (meist -p).
So einen Entpacker könntest du über ein Wrapperscript aufrufen, das den Passwortstring aus einer Textdatei ausliest und an den Entpacker weitergibt.
So einen Entpacker könntest du über ein Wrapperscript aufrufen, das den Passwortstring aus einer Textdatei ausliest und an den Entpacker weitergibt.
Re: Archivmanager mit Passwortspeicher
Der JDownloader hat so eine Funktion mit hinterlegbaren Passwörterm, die dann durchprobiert werden.Richard hat geschrieben:14.03.2018 16:19:53Das wäre speziell bei Downloads aus dem Netz die immer wieder mit dem gleichen Passwort geschützt sind sinnvoll.
http://jdownloader.org/jdownloader2
-
- Beiträge: 650
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: Archivmanager mit Passwortspeicher
Ich kenne bisher nur format-spezifische Tools, kein universelles.hikaru hat geschrieben:14.03.2018 16:51:22CLI-Entpacker die Archive mit Passwörtern unterstützen, haben dafür einen entsprechenden Schalter (meist -p).
So einen Entpacker könntest du über ein Wrapperscript aufrufen, das den Passwortstring aus einer Textdatei ausliest und an den Entpacker weitergibt.
Die Idee kam mir auch schon. Müsste ja dann so gehen, dass PW 1 versucht wird, bei Erfolg entpackt und sobst PW 2 versuchen. Wenn ich hier if verwende, wonach müsste ich denn prüfen lassen um den Misserfolg der PW-Prüfung heraus zu bekommen?
Re: Archivmanager mit Passwortspeicher
Du könntest in deinem Wrapperscript mit file den Archivtyp abfragen und dementsprechend das passende CLI-Programm aufrufen. Was anderes machen die grafischen Frontends auch nicht.Richard hat geschrieben:15.03.2018 06:49:56Ich kenne bisher nur format-spezifische Tools, kein universelles.
Jedes Kommando gibt einen Status zurück. Dieser wird in der Shell-Variable $? gespeichert und ist im Erfolgsfall 0. Ein Entpackversuch mit einem falschen Passwort wird einen Status ungleich 0 zurückgeben.Richard hat geschrieben:15.03.2018 06:49:56Wenn ich hier if verwende, wonach müsste ich denn prüfen lassen um den Misserfolg der PW-Prüfung heraus zu bekommen?
-
- Beiträge: 507
- Registriert: 30.12.2016 23:48:51
Re: Archivmanager mit Passwortspeicher
Einfach den Exitcode abprüfen.Richard hat geschrieben:15.03.2018 06:49:56Wenn ich hier if verwende, wonach müsste ich denn prüfen lassen um den Misserfolg der PW-Prüfung heraus zu bekommen?
Beispiel:
Code: Alles auswählen
#!/bin/bash
shopt -s extglob
source="/home/user/Downloads"
pwlist=(pass1 pass2 pass3 pass4)
for pass in "${pwlist[@]}"
do
for file in "$source"/+(*.zip|*.rar)
do
if packer .... -p "$pass" "$file"
then
printf '%s\n' "Datei $file wird entpackt .... (Passwort: $pass)"
else
printf '%s\n' "Datei $file konnte nicht entpackt werden. (Passwort: falsch)"
fi
done
done
-
- Beiträge: 650
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: Archivmanager mit Passwortspeicher
Wie würde das denn aussehen wenn die Passwörter jedes in einer neuen Zeile stehen, nicht hintereinander?
Re: Archivmanager mit Passwortspeicher
Das ist ein Fall von "Datei auf Array lesen", wofür es einen ganzen Sack voller Möglichkeiten mit unterschiedlichen Vor- und Nachteilen gibt.
Wegen der Klarheit des Befehls und des geringen Schreibaufwands scheint mir das readarray-Builtin eine gute Option zu sein:
Wegen der Klarheit des Befehls und des geringen Schreibaufwands scheint mir das readarray-Builtin eine gute Option zu sein:
Code: Alles auswählen
readarray -t pwlist < PASSWORTDATEI
-
- Beiträge: 650
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: Archivmanager mit Passwortspeicher
Hab das jetzt so gelöst.
Soll mal als Kontextmenü erstellt werden, das habe ich noch nicht getestet. Ein Problem ist aber 7z, auch wenn ich da eher wenig passwortgeschützt Archive habe. Hier wird leider immer eien Ausgabedatei erstellt, auch wenn das Passwort falsch war (ich weiß nicht was passiert wenn auch der Dateiname verschlüsselt ist). Dann halt eine 0 Byte große Datei. Das ist laut Entwickler so, dass das Passwort erst gecheckt wird nachdem das Archiv schon geöffnet wurde. Dadurch wird natürlich schon beim zweiten Durchlauf eine Fehlermeldung ausgegeben, dass die Datei schon existiert. Ich will aber auf keinen Fall die Option benutzen Dateien ohne Rückfrage zu überschreiben.
Meine Idee war nun hier noch eine Prüfung reinzubringen, die 0 Byte große Ausgabedateien löscht. Dazu müsste man aber vorher erst eine Liste der Dateien im Archiv auslesen, dann prüfen ob diese Dateien im Zielordner vorhanden sind und ob diese 0 Byte groß sind? Falls es keinen einfacheres Weg gibt verzichte ich hier darauf 7z mit reinzunehmen. Außer jemand kennt ein anderes Tool das 7z entpacken kann und Passwörter im Terminal entgegennehmen kann. atool, Unpack und dtrx können das leider nicht. Auch kann unrar und zip kein 7z entpacken.
Code: Alles auswählen
#!/bin/bash
file="$1"
readarray -t pwlist < passwortdatei
for i in "$1" ; do
if [[ "$i" == *.[zZ][iI][pP] ]] ; then
for pass in "${pwlist[@]}" ; do
unzip -P $pass "$i"
if [ $? -eq 0 ]
then
exit 0
fi
done
elif [[ "$i" == *.7[zZ] ]] ; then
for pass in "${pwlist[@]}" ; do
7z e -p$pass "$i"
if [ $? -eq 0 ]
then
exit 0
fi
done
elif [[ "$i" == *.[rR][aA][rR] ]] ; then
for pass in "${pwlist[@]}" ; do
unrar e -p$pass "$i"
if [ $? -eq 0 ]
then
exit 0
fi
done
fi
done
Meine Idee war nun hier noch eine Prüfung reinzubringen, die 0 Byte große Ausgabedateien löscht. Dazu müsste man aber vorher erst eine Liste der Dateien im Archiv auslesen, dann prüfen ob diese Dateien im Zielordner vorhanden sind und ob diese 0 Byte groß sind? Falls es keinen einfacheres Weg gibt verzichte ich hier darauf 7z mit reinzunehmen. Außer jemand kennt ein anderes Tool das 7z entpacken kann und Passwörter im Terminal entgegennehmen kann. atool, Unpack und dtrx können das leider nicht. Auch kann unrar und zip kein 7z entpacken.