NK.BIN
From t-hack.com - Hack X300T / X301T
(details hinzugefügt) |
|||
Line 1: | Line 1: | ||
+ | Die nk.bin ist vom Aufbau her eine binäre srecord-Datei. | ||
+ | Nach | ||
+ | <pre> | ||
+ | struct BinFile{ | ||
+ | byte signature[7];// = { 'B', '0', '0', '0', 'F', 'F', '\a' } | ||
+ | DWORD ImageStart;// = 0x91e00000 | ||
+ | DWORD ImageLength;//Summe aller RecordLengths | ||
+ | }; | ||
+ | </pre> | ||
+ | beginnen die Records, die allesamt folgendes Format haben: | ||
+ | <pre> | ||
+ | struct Record { | ||
+ | DWORD RecordAddress;//Adresse an der RecordData im Ram landet | ||
+ | DWORD RecordLength;//Länge der Daten in Bytes | ||
+ | DWORD RecordChecksum;//Checksum-32 der Daten, d.h. alle Bytes addieren. | ||
+ | byte RecordData[RecordLength];//eigentliche Daten | ||
+ | }; | ||
+ | </pre> | ||
+ | D.h. der nächste Record ist dann direkt nach Ende von RecordData zu finden, usw. | ||
+ | Im letzten Record sind RecordAddress und RecordChecksum null, RecordLength gibt die Adresse an an die dann die Ausführung des Codes beginnt. | ||
+ | An Adresse ImageStart+0x40 (=0x91e00040) ist der Marker "ECEC" zu finden, direkt danach steht ein DWORD pTOC das die Adresse angibt an der sich die ROMHDR-struct im Ram befindet. Alle weiteren structs finden sich in der romldr.h des Windows CE Sourcecodes. | ||
+ | |||
+ | |||
+ | |||
Zu jeder Datei in Laufwerk C gibt es eine .SIG Datei in welcher die Signatur der Datei abgelegt ist. | Zu jeder Datei in Laufwerk C gibt es eine .SIG Datei in welcher die Signatur der Datei abgelegt ist. | ||
Die Signatur in der .SIG Datei ist ein SHA1-256bit Hash. Die SIG Datei selbst ist mit einem 512 Byte Hash in der ersten Zeile signiert. Welcher Hashtyp ist derzeit noch unklar. | Die Signatur in der .SIG Datei ist ein SHA1-256bit Hash. Die SIG Datei selbst ist mit einem 512 Byte Hash in der ersten Zeile signiert. Welcher Hashtyp ist derzeit noch unklar. |