Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#1

Blöde Frage zum Thema ZipCrypto

  Alt 17. Aug 2023, 17:21
Uwe Raabe hat in einem seiner Blogbeiträge https://www.uweraabe.de/Blog/2017/03...rd-encryption/ eine recht übersichtliche Implementierung der ZipCrypto Entschlüsselung präsentiert. Die Implementierung folgt, wie er auch selbst erläuterte, den originalen PKWare Erläuterungen. Jetzt bin ich dabei mir das Thema insgesamt etwas genauer anzusehen, da ich gerne Konfigurationsdateien (einfache Inis) verschlüsselt speichern möchte. Erster Schritt war die TZip Komponente zu verwenden, und unverschlüsselt einfach nur die Ini-Datei zu zippen. Entpacken "on the fly" bzw. im Speicher mit Memorystreams geht auch gut, so daß keine Dateien als Laufzeitartefakte entstehen. Jetzt wollte ich zum Spaß mal ZipCrypto anwenden, daß Embarcadero das als eine von zwei möglichen Verfahren nennt, und AES256 ganz sicher aufwendiger für einen simplen Test wird. Lange Rede kurzer Sinn: Es kommt im 32Bit Compilat zu einem Integer-Überlauf, wenn in der Methode DecryptBuffer die Multiplikation durchgeführt wird:
Result := word(temp * (temp xor 1)) shr 8; Klar ist der Code von 2017 mit Delphi 10.1 erstellt worden, aber zu Delphi 11.3 sind ja nun nicht so viele schlimme Dinge passiert...oder doch? Hat jemand eine Idee dazu? Uwe?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat