|
Wintec 201 FileformatC structsThe C structs were provided by the Time Machine X programmer Al - Lai. TK1 Headertypedef struct { char pHeader[16];//="WintecLogFormat"; //16 float f32LogVersion; //20 float f32SWVersion; //24 float f32HWVersion; //28 unsigned short u16FlashID; //30 unsigned short u16DataLength; //32 unsigned long u32HowManyData; //36 unsigned char u8HowManyCheckSumAtLast; //37 unsigned char u8Reserver; //38 unsigned short u16Reserver; //40 char pDeviceName1[20]; //60 char pDeviceName2[20]; //80 char pDeviceName3[40]; //120 char pLocalTimeOfReading[20]; //140 unsigned int u32StartTrackInfoStructAddressForSeek; //144 unsigned int u32TrackNumber; //148 char pResever1[876]; //1024 }; TK1 Footer Entrytypedef struct { unsigned long u32Track; //8Bytes unsigned long u32TrackStartSeekFromFileStart; //8Bytes unsigned long u32PointNumber; //8Bytes unsigned long u32Seconds; //8Bytes double distance; //8Bytes }; TK2 Headertypedef struct { char pHeader[16];//="WintecLogTk2"; //16 float f32LogVersion; //20 float f32SWVersion; //24 float f32HWVersion; //28 unsigned short u16FlashID; //30 char pDeviceName1[20]; //50 char pDeviceName2[20]; //70 char pDeviceName3[40]; //110 char pLocalTimeOfReading[20]; //130 //------ Tk2 New -------------------------------- char TrackDescription[300]; //430 char ZoneIndex; //431 // 1 or -1 unsigned char ZoneHour; //432 unsigned char ZoneMinite; //433 char pTimeToFirstPoint[27]; //460 unsigned int TotalPoint; //464 unsigned int TotalTime_s; //468 unsigned int TotalDistance_m; //472 unsigned int NumberOfPushToLog; //476 //------------------------------------------------ char pResever1[548]; //1024 }; TK3 Headertypedef struct { char pHeader[16];//="WintecLogTk3"; //16 float f32LogVersion; //20 float f32SWVersion; //24 float f32HWVersion; //28 unsigned short u16FlashID; //30 char pDeviceName1[20]; //50 char pDeviceName2[20]; //70 char pDeviceName3[40]; //110 char pLocalTimeOfReading[20]; //130 //------ Tk2 New -------------------------------- char Description[300]; //429 char ZoneIndex; //430 unsigned char ZoneHour; //431 unsigned char ZoneMinite; //432 char pTimeToFirstPoint[30]; //462 char pTimeToLastPoint[30]; //492 unsigned int NumberOfPushToLog; //496 //------------------------------------------------ char pResever1[527]; //1024 }; Reverse engineering notesHere are my results of reverse engineering the Wintec 201 file formats. TK3 Header00000000: 5769 6e74 6563 4c6f 6754 6b33 0000 0000 WintecLogTk3.... 00-0f: "WintecLogTk3" + 4 * 0x00 00000010: 0000 803f 0000 803f 0000 803f 41bf 5742 ...?...?...?A.WB 10-1D: Konstant. 1E-30: Gerätebezeichnung 00000020: 5432 3031 0000 0000 0000 0000 0000 0000 T201............ 00000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 32-44: Geräteinfo 00000040: 0000 0000 0000 5959 4d4d 3132 3334 3536 ......YYMM123456 46-53: Seriennummer 00000050: 3738 3930 0000 0000 0000 0000 0000 0000 7890............ 00000060: 0000 0000 0000 0000 0000 0000 0000 3230 ..............20 6E-80: Datum Export (aus .TK1 übernommen) 00000070: 3037 5f30 355f 3237 5f32 313a 3337 3a30 07_05_27_21:37:0 00000080: 3700 4400 6900 6500 7300 2000 6900 7300 7.D.i.e.s. .i.s. 82-1ab: Beschreibung (2 Bytes/Buchstaben) 1ac-1ad: 0x00 00000090: 7400 2000 6500 6900 6e00 2000 6200 6500 t. .e.i.n. .b.e. 000000a0: 7300 6f00 6e00 6400 6500 7200 7300 2000 s.o.n.d.e.r.s. . 000000b0: 6c00 6100 6e00 6700 6500 7200 2000 5400 l.a.n.g.e.r. .T. 000000c0: 6500 7800 7400 2000 7500 6d00 2000 7a00 e.x.t. .u.m. .z. 000000d0: 7500 2000 7300 6500 6800 6500 6e00 2c00 u. .s.e.h.e.n.,. 000000e0: 2000 6f00 6200 2000 6500 7300 2000 6800 .o.b. .e.s. .h. 000000f0: 6900 6500 7200 2000 6500 6900 6e00 6500 i.e.r. .e.i.n.e. 00000100: 2000 4700 7200 6500 6e00 7a00 6500 2000 .G.r.e.n.z.e. . 00000110: 6700 6900 6200 7400 2e00 2e00 2e00 2e00 g.i.b.t......... 00000120: 2000 6400 6100 7300 2000 6b00 6100 6e00 .d.a.s. .k.a.n. 00000130: 6e00 2000 6400 6f00 6300 6800 2000 6e00 n. .d.o.c.h. .n. 00000140: 6900 6300 6800 7400 2000 6100 6c00 6c00 i.c.h.t. .a.l.l. 00000150: 6500 7300 2000 6900 6e00 2000 6400 6500 e.s. .i.n. .d.e. 00000160: 6e00 2000 4800 6500 6100 6400 6500 7200 n. .H.e.a.d.e.r. 00000170: 2000 7000 6100 7300 7300 6500 6e00 2c00 .p.a.s.s.e.n.,. 00000180: 2000 6f00 6400 6500 7200 3f00 2000 6100 .o.d.e.r.?. .a. 00000190: 7300 6400 6600 6100 7300 6400 6600 6100 s.d.f.a.s.d.f.a. 000001a0: 7300 6400 6600 6100 7300 6600 0000 0100 s.d.f.a.s.f..... 01ae: FF=TZ < CET; 01=TZ>=CET 01af: Diff. zu CET Bsp: CET+2 = 0102 CET-3 = ff03 CET = 0100 000001b0: 0032 3030 372d 3035 2d32 3654 3134 3a31 .2007-05-26T14:1 01b1-01ca: Datum erster Trackpunkt 000001c0: 333a 3531 5a2b 3031 3a30 3000 0000 0032 3:51Z+01:00....2 01cf-01e8: Datum letzter Trackpunkt 000001d0: 3030 372d 3035 2d32 3654 3134 3a32 353a 007-05-26T14:25: 000001e0: 3330 5a2b 3031 3a30 3000 0000 0010 0000 30Z+01:00....... 01ed-01f0: Anzahl Trackpunkte TK2 Header:00000000: 5769 6e74 6563 4c6f 6754 6b32 0000 0000 WintecLogTk2.... 00-0f: "WintecLogTk2" + 4 * 0x00 00000010: 0000 803f 0000 803f 0000 803f 41bf 5742 ...?...?...?A.WB 10-1D: Konstant. 1E-30: Gerätebezeichnung 00000020: 5432 3031 5f53 5369 3132 3334 3536 3738 T201_SSi12345678 00000030: 3900 5349 3233 3435 3637 3839 3031 3233 9.SI234567890123 32-44: Geräteinfo 00000040: 3435 3637 3800 5959 4d4d 3132 3334 3536 45678.YYMM123456 46-53: Seriennummer 00000050: 3738 3930 0000 0000 0000 0000 0000 0000 7890............ 00000060: 0000 0000 0000 0000 0000 0000 0000 3230 ..............20 6E-80: Datum Export (aus .TK1 übernommen) 00000070: 3037 5f30 375f 3036 5f32 313a 3438 3a33 07_07_06_21:48:3 00000080: 3100 0000 0000 0000 0000 0000 0000 0000 1............... 82-1ab: Beschreibung (2 Bytes/Buchstaben) 1ac-1ad: 0x00 00000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000100: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000110: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000120: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000130: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000150: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000160: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000170: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000180: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000190: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001a0: 0000 0000 0000 0000 0000 0000 0000 0101 ................ 01ae: FF=TZ < CET; 01=TZ>=CET 01af: Diff. zu CET Bsp: CET+2 = 0102 CET-3 = ff03 CET = 0100 000001b0: 0032 3030 372d 3037 2d30 3654 3136 3a34 .2007-07-06T16:4 01b1-01ca: Datum erster Trackpunkt 000001c0: 323a 3335 5a2b 3031 3a30 3000 0902 0000 2:35Z+01:00..... 01cc-01cf: Anzahl Trackpunkte 000001d0: 3c13 0000 f91e 0000 0000 0000 0000 0000 <............... 01d0-01d3: Fahrzeit in Sekunden 01d4-01d7: Tracklänge 01d8-01db: Anzahl Push to Log TK1 Header:00000000: 5769 6e74 6563 4c6f 6746 6f72 6d61 7400 WintecLogFormat. 00-0f: "WintecLogFormat" + 0x00 00000010: 0000 803f 0000 803f 0000 803f 41bf 1000 ...?...?...?A... (Konstant) 00000020: c803 0000 0000 0000 5742 5432 3031 5f53 ........WBT201_S 20-23: Anzahl Trackpunkte. 28-3A: Gerätebezeichnung 00000030: 5369 3132 3334 3536 3738 3900 5349 3233 Si123456789.SI23 3C-4E: Geräteinfo 00000040: 3435 3637 3839 3031 3233 3435 3637 3800 456789012345678. 00000050: 5959 4d4d 3132 3334 3536 3738 3930 0000 YYMM1234567890.. 50-5D: Seriennummer 00000060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000070: 0000 0000 0000 0000 3230 3037 5f30 355f ........2007_05_ 78-8B: Datum + 0x00 00000080: 3233 5f31 333a 3336 3a35 3700 b065 0000 23_13:36:57..e.. 8C-8F: Position Footer 00000090: 0d00 0000 0000 0000 0000 0000 0000 0000 ................ 90-93: Anzahl Tracks -03ff: Alles 0x00 TK1 Footer Entry:Pro Track 24 Bytes. 0x00-0x03: Tracknummer 0x04-0x07: Offset 1. Track 0x08-0x0B: Anzahl Trackpunkte 0x0C-0x0F: Länge Fahrzeit in Sekunden 0x10-0x17: Gesamte Tracklänge als Double |