
Zitat von
Andi_84
So muss man vorgehen:
* Die ersten 4 Bytes des 1. Teils wegwerfen (
0x1324DEAD).
* 32 Bytes ab Offset
0x64 mit den ersten 32 Bytes des 1. Teils vertauschen und die Nibbles von jedem Byte vertauschen und die Bytes von jedem WORD vertauschen.
* Von dem hierbei Entstandenen noch mal die ersten 4 Bytes wegwerfen.
* Für die ersten
0x112C80 (1.125.504) Bytes: Alle Bytes mit
0xAA XOR'en und jedes WORD mit dem folgenden WORD vertauschen.
ABER: Wenn
(CurrentByte - 16) % 32 == 0 -> Dann nur mit
0xAA XOR'en und nichts vertauschen
* Für die restlichen Bytes: Unverändert lassen.
Der Wert
0x112C80 scheint nicht im FW-File stehen, sondern wohl als Konstante irgendwo im Bootloader. Funktioniert jedenfalls für W722 und W303.
Part 2 kann das Tool noch nicht entschlüsseln. Da arbeite ich noch dran.
Hier eine kleine Ergänzung zum Sourcecode für findige Tüftler...
Code:
/* Speedport */
#define BIN_COMP_SIGNATURE_303A = 0x1357DEF0
#define BIN_COMP_SIGNATURE_502A = 0x13579ABC
#define BIN_COMP_SIGNATURE_503C = 0x2468ACDF
#define BIN_COMP_SIGNATURE_504B = 0x1268ACF0
#define BIN_COMP_SIGNATURE_720B = 0x80000001 /* same scramble type as 502A */
#define BIN_COMP_SIGNATURE_722B = 0x1324DEAD
#define BIN_COMP_SIGNATURE_723B = 0x3596A168
#define BIN_COMP_SIGNATURE_921A = 0x20101123
/* Easybox, Arcor, Vodafone */
#define BIN_COMP_SIGNATURE_A300 = 0x80000001 /* same scramble type as 502A */
#define BIN_COMP_SIGNATURE_A401 = 0x98765432
#define BIN_COMP_SIGNATURE_A402 = 0x98765432
#define BIN_COMP_SIGNATURE_A601 = 0x98765432
#define BIN_COMP_SIGNATURE_A602 = 0x98765432
#define BIN_COMP_SIGNATURE_A801 = 0x98765432
#define BIN_COMP_SIGNATURE_A802 = 0x98765432
#define BIN_COMP_SIGNATURE_A803 = 0x98765432
#define BIN_COMP_SIGNATURE_A903 = 0x98765432
#define BIN_COMP_SIGNATURE_A800 = 0x87654321 /* same scramble type as 502A */
Und noch ein Tipp: Die [ZIP 3] Entwürfelung ist je Gerät und Firmware-Teil unterschiedlich und wird (vermutlich) durch das Long vor dem lzma header beeinflusst oder definiert. Weitere Details derzeit unbekannt...
Edit: Eine Info gibt es, beim W502V/W720V/Arcor A300/A800 ist [ZIP 3] nur ein einfacher Bytetausch der ersten 32 Bytes, bei den "neueren" Geräten haben die Verwürfeler mehr Phantasie bewiesen.