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. | ||