Thread Crypt::CBC .ods-Datei entschlüsseln
(8 answers)
Opened by payx at 2022-02-12 20:47
Hallo allerseits,
nach längerem bin ich mal wieder hier und freue mich, dass es das Forum noch gibt! Ich versuche, eine mit Libre-/OpenOffice-Bordmitteln verschlüsselte Calc-Datei (.ods) zu entschlüsseln. http://docs.oasis-open.org/office/v1.2/csprd03/Ope... Ich habe eine Beispieldatei mit Passwort pwd123. Die verschlüsselte Datei lässt sich wie gewohnt als .zip-Datei öffnen. Nicht die ganze Datei, sondern erst die Inhaltsdateien sind verschlüsselt. Mich interessiert nur content.xml. In META-INF/manifest.xml sind diverse Informationen zur Verschlüsselung enthalten, die ich in meinem Skript zu verarbeiten versucht habe. Code: (dl
)
1 <manifest:file-entry manifest:full-path="content.xml" manifest:media-type="text/xml" manifest:size="5451"> Hier mein Skript: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #!/usr/bin/perl use strict; use warnings; use File::Slurp; use Crypt::CBC; use MIME::Base64; my $xml_encr = read_file('content.xml'); my $iv = "b6PjQ7EG+uWyhk/z29dJJQ=="; $iv = decode_base64($iv); my $salt = "tHaDznWSd1OYCyWzFGx1YA=="; $salt = decode_base64($salt); #$salt = substr($salt,0,8); my $cipher = Crypt::CBC->new( -pass => 'pwd123' , -cipher => 'Cipher::AES' , -keysize => 32 , -chain_mode => 'cbc' , -pbkdf => 'pbkdf2' , -iter => 100000 #, -hasher => #, -header => 'salt' , -header => 'none' , -iv => $iv , -salt => $salt #, -padding => ); my $xml_decr = $cipher->decrypt($xml_encr); print $xml_decr; Hier kommt die Fehlermeldung Argument to -salt must be exactly 8 bytes long at ... line 19. Das ist blöd, denn lt. der oben zitierten Doku ist der Salt 16 Bytes lang. Wenn ich in Zeile 17 den Salt auf acht Zeichen kürze, läuft das Programm durch, liefert aber natürlich keinen sinnvollen Output. Wenn ich statt Zeile 27 Zeile 28 auskommentiere, kommt die Fehlermeldung Ciphertext does not begin with a valid header for 'salt' header mode at ... line 35. Das ist möglicherweise nur ein Folgefehler des ersten Fehlers. Die META-INF/manifest.xml habe ich hier angehängt. Die content.xml darf ich hier nicht hochladen, daher habe ich sie hier bereitgestellt: https://magentacloud.de/s/PSpAFxtC9mSddjZ Und hier liegt die ganze ods-Datei: https://magentacloud.de/s/sYJa45tPrDwcTBB Schon jetzt vielen Dank für sachdienliche Hinweise – übrigens gern auch auf mögliche ganz andere Vorgehensweisen. Viele Grüße payx Anhänge Last edited: 2022-02-12 22:42:44 +0100 (CET) |