124476

pcwBreaker (Teil 2)

Info für Profis: Die Blattschutz-Verschlüsselung von Excel 2000 und XP ist relativ simpel. Jedem Zeichen des Passworts entspricht ein achtstelliger Binärwert (8 Bit). Dieser wird für die Verschlüsselung um seine Position im Passwort Bit-weise nach links verschoben (Left-Shift). Das Verschieben einer binären Zahl um ein Bit nach links entspricht im dezimalen Raum einer Multiplikation mit 2. Beim ersten Zeichen wird der Wert also um ein Bit verschoben, die Binärzahl verlängert sich auf neun Stellen.

Beim zweiten Zeichen verschiebt sich der Wert um zwei Bit, die Binärzahl erweitert sich dementsprechend auf zehn Stellen und so weiter. Da die Länge der Binärzahl bei Excel auf 16 Bit begrenzt ist, erfolgt bei Kennwörtern, die länger als acht Zeichen sind, ab dem neunten Zeichen zusätzlich zum Left-Shift eine Bit-Rotation um die jeweils überzähligen Stellen.

Somit verkürzt sich der binäre String immer um eine Stelle und bleibt ab dem neunten Zeichen 16-stellig. Alle einzelnen Werte, der Binärwert der Kennwortlänge und die hexadezimale Konstante 0xCE4B werden dann über exklusives "Oder" (XOR) miteinander verknüpft. Daraus errechnet sich der Wert, der in der Tabellendatei gespeichert wird.


Eine Binärzahl mit 16 Stellen (16 Bit) liefert maximal zwei hoch sechzehn unterschiedliche Hash-Werte, also "nur" 65.536 Möglichkeiten. Aus dem Grund kann nicht jedes mögliche Kennwort einen eindeutigen Hash-Wert erhalten. Diese Tatsache nutzt das Makro aus und findet in einem kleineren Werteraum immer ein alternatives Kennwort, über das sich der Schutz des Arbeitsblatts deaktivieren lässt.

Leider kann das Tool pcwbreaker nicht mehr zum Download angeboten werden.

PC-WELT Marktplatz

0 Kommentare zu diesem Artikel
124476