1 |
|
---|
2 | typedef struct _wpInstanceDataLong
|
---|
3 | {
|
---|
4 | USHORT usType; /* 0x0002 */
|
---|
5 | USHORT usKey; /* key used in wpSaveLong() */
|
---|
6 | USHORT usLength; /* size of value, always 0x0004 */
|
---|
7 | ULONG ulValue;
|
---|
8 | }INSTANCEDATALONG;
|
---|
9 |
|
---|
10 |
|
---|
11 | typedef struct _wpInstanceDataString
|
---|
12 | {
|
---|
13 | USHORT usType; /* 0x0003 */
|
---|
14 | USHORT usKey; /* key used in wpSaveString() */
|
---|
15 | USHORT usLength; /* String length including terminating 0 */
|
---|
16 | UCHAR ucData[]; /* The string including a terminating 0 */
|
---|
17 | }INSTANCEDATASTRING;
|
---|
18 |
|
---|
19 |
|
---|
20 | typedef struct _wpInstanceDataBinary
|
---|
21 | {
|
---|
22 | USHORT usType; /* 0x0004 */
|
---|
23 | USHORT usKey; /* key used in wpSaveData() */
|
---|
24 | USHORT usLength; /* Size of data block */
|
---|
25 | BYTE data[];
|
---|
26 | }INSTANCEDATABINARY;
|
---|
27 |
|
---|
28 |
|
---|
29 | /* Instance data block for a class. For every class in the chain of classes
|
---|
30 | there may be one of these blocks. The current class is the first, the parent class
|
---|
31 | instance data follows, then the grand parent class instance data etc. */
|
---|
32 | typedef struct _InstanceDataBlockHead
|
---|
33 | {
|
---|
34 | USHORT usClassNameLength; /* Length of class name including terminating 0 */
|
---|
35 | USHORT usDataSize; /* Size of data block starting after this structure */
|
---|
36 | UCHAR ucClassName[]; /* Array holding classname with terminating 0 */
|
---|
37 | }INSTANCEDATABLOCK;
|
---|
38 | /* Data block with variable length is immediately following.
|
---|
39 | This data block consist of several INSTANCEDATALONG/STRING/BINARY */
|
---|
40 |
|
---|
41 | struct CLASSINFO
|
---|
42 | {
|
---|
43 | const USHORT usEAType; /* EAT_BINARY: 0xFFFE */
|
---|
44 | USHORT usSize; /* Size of data following starting with usUnknown1 */
|
---|
45 | USHORT usUnknown1;
|
---|
46 | USHORT usUnknown2;
|
---|
47 | USHORT usDataSize; /* Data size following the class name (starting with usOffset) */
|
---|
48 | USHORT usUnknown3;
|
---|
49 | UCHAR ucClassName[]; /* The class of this object including the terminating 0, e.g. WPDataFile */
|
---|
50 | USHORT usOffset; /* Offset to WPObject instance data block starting at usOffset */
|
---|
51 | USHORT usUnknown4;
|
---|
52 | USHORT usUnknown5;
|
---|
53 | USHORT usSizeInstanceData; /* Size of all INSTANCEDATABLOCKs + sizeof(usSizeInstanceData2) + sizeof(usUnknown7)
|
---|
54 | + sizeof(usUnknown6) + sizeof(usUnknown5) + sizeof(usSizeInstanceData) */
|
---|
55 | USHORT usUnknown6;
|
---|
56 | USHORT usSizeInstanceData2; /* Size of all INSTANCEDATABLOCKs including 6 terminating zero bytes.
|
---|
57 | Each INSTANCEDATABLOCK structure is followed by a data block of variable length. */
|
---|
58 | USHORT usUnknown7;
|
---|
59 | INSTANCEDATABLOCK instanceDataBlocks[]; /* One or more instance data blocks. At least the WPObject data block is present. */
|
---|
60 | /* The WPObject instance data block is always the last one. Attention: the instance
|
---|
61 | data blocks may have different sizes! */
|
---|
62 | const UCHAR ucZero[6]; /* Terminating zero bytes */
|
---|
63 | }
|
---|
64 |
|
---|
65 | ------------------------------------
|
---|
66 |
|
---|
67 |
|
---|
68 | 1:
|
---|
69 |
|
---|
70 | FE FF E9 00 10 00 00 00 D3 00 00 00 57 50 43 6F þÿé.....Ó...WPCo
|
---|
71 | 6D 6D 61 6E 64 46 69 6C 65 00
|
---|
72 | --> 6E 00 2D 15 10 00 mmandFile.n.-...
|
---|
73 | ^^^^^
|
---|
74 | |
|
---|
75 | 110 Offset to WPObject
|
---|
76 |
|
---|
77 | 2D 15 CD 00 2D 15 C3 00 00 00 0E 00 4C 00 57 50 -.Í.-.Ã.....L.WP
|
---|
78 | 50 72 6F 67 72 61 6D 46 69 6C 65 00 04 00 0A 00 ProgramFile.....
|
---|
79 | 14 00 00 00 00 00 02 00 00 00 00 00 00 00 10 00 ................
|
---|
80 | 00 00 01 00 00 00 04 00 0B 00 02 00 FF FF 04 00 ............ÿÿ..
|
---|
81 | 06 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 ..$.............
|
---|
82 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
---|
83 | 00 00 00 00 00 00 00 00 <--
|
---|
84 |
|
---|
85 | 09 00 52 00 57 50 4F 62 ..........R.WPOb
|
---|
86 | ^^^^^
|
---|
87 | |
|
---|
88 | WPObject class name length
|
---|
89 |
|
---|
90 | 6A 65 63 74 00 04 00 0B 00 20 00 04 00 00 00 00 ject..... ......
|
---|
91 |
|
---|
92 |
|
---|
93 | 00 00 00 0B 00 00 00 10 00 00 00 00 00 00 00 00 ................
|
---|
94 | 00 00 00 03 00 00 00 02 00 00 00 04 00 0C 00 18 ................
|
---|
95 | 00 02 00 32 30 37 30 39 34 40 32 30 2C 32 31 37 ...207094@20,217
|
---|
96 | 32 33 33 40 32 30 00 FF FF 04 00 04 00 08 00 FF 233@20.ÿÿ......ÿ
|
---|
97 | FF FF FF FF FF FF FF 00 00 00 00 00 00 ÿÿÿÿÿÿÿ......
|
---|
98 |
|
---|
99 | ------------------
|
---|
100 |
|
---|
101 | 2:
|
---|
102 |
|
---|
103 | FE FF 7E 00 00 00 00 00 6B 00 00 00 57 50 44 61 þÿ~.....k...WPDa
|
---|
104 | 74 61 46 69 6C 65 00
|
---|
105 | --> 10 00 BE 14 10 00 BE 14 65 taFile...Ÿ...Ÿ.e
|
---|
106 | ^^^^^
|
---|
107 | |
|
---|
108 | 16 Offset to WPObject starting from this word
|
---|
109 |
|
---|
110 | 00 BE 14 5B 00 00 00 <--
|
---|
111 |
|
---|
112 | 09 00 48 00 57 50 4F 62 6A .Ÿ.[.....H.WPObj
|
---|
113 | ^^^^^
|
---|
114 | |
|
---|
115 | WPObject class name length
|
---|
116 |
|
---|
117 | 65 63 74 00 04 00 0B 00 20 00 00 10 00 00 00 00 ect..... .......
|
---|
118 | 00 00 09 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
---|
119 | 00 00 03 00 00 00 02 00 00 00 04 00 0C 00 0E 00 ................
|
---|
120 | 02 00 32 30 39 31 32 37 40 32 30 00 FF FF 04 00 ..209127@20.ÿÿ..
|
---|
121 | 04 00 08 00 FF FF FF FF FF FF FF FF 00 00 00 00 ....ÿÿÿÿÿÿÿÿ....
|
---|
122 | 00 00 ..
|
---|
123 |
|
---|
124 |
|
---|
125 | ----------------------------------------
|
---|
126 |
|
---|
127 |
|
---|
128 | E FF 8C 02 80 00 00 00 7B 02 00 00 57 50 46 6F þÿ....{...WPFo
|
---|
129 | 6C 64 65 72 00 20 02 CB 19 10 00 CB 19 75 02 CB lder. .Ë...Ë.u.Ë
|
---|
130 | 19 6B 02 00 00 0C 00 28 00 43 61 6E 64 79 46 6F .k.....(.CandyFo
|
---|
131 | 6C 64 65 72 00 02 00 94 11 04 00 00 00 00 00 02 lder...........
|
---|
132 | 00 95 11 04 00 64 00 00 00 02 00 96 11 04 00 64 ....d........d
|
---|
133 | 00 00 00 02 00 97 11 04 00 64 00 00 00 09 00 32 ........d.....2
|
---|
134 | 00 43 57 46 6F 6C 64 65 72 00 02 00 E8 03 04 00 .CWFolder...è...
|
---|
135 | 00 00 00 00 02 00 E9 03 04 00 00 00 00 00 02 00 ......é.........
|
---|
136 | EA 03 04 00 00 00 00 00 02 00 EB 03 04 00 96 00 ê.........ë....
|
---|
137 | 00 00 02 00 EC 03 04 00 03 00 00 00 08 00 1E 00 ....ì...........
|
---|
138 | 58 46 6F 6C 64 65 72 00 02 00 0B 00 04 00 FF 00 XFolder.......ÿ.
|
---|
139 | 00 00 02 00 0C 00 04 00 FF 00 00 00 02 00 0D 00 ........ÿ.......
|
---|
140 | 04 00 FF 00 00 00 09 00 62 01 57 50 46 6F 6C 64 ..ÿ.....b.WPFold
|
---|
141 | 65 72 00 04 00 6D 0B B6 00 43 4C 41 53 43 57 41 er...m.¶.CLASCWA
|
---|
142 | 75 64 69 6F 53 68 61 64 6F 77 00 43 4C 41 53 4D udioShadow.CLASM
|
---|
143 | 4D 49 6D 61 67 65 00 43 4C 41 53 4D 4D 41 75 64 MImage.CLASMMAud
|
---|
144 | 69 6F 00 43 4C 41 53 58 57 50 46 6F 6E 74 4F 62 io.CLASXWPFontOb
|
---|
145 | 6A 65 63 74 00 43 4C 41 53 58 57 50 54 72 61 73 ject.CLASXWPTras
|
---|
146 | 68 4F 62 6A 65 63 74 00 43 4C 41 53 43 57 4D 61 hObject.CLASCWMa
|
---|
147 | 69 6C 46 69 6C 65 00 43 4C 41 53 57 50 46 74 70 ilFile.CLASWPFtp
|
---|
148 | 4F 62 6A 00 43 4C 41 53 57 50 55 72 6C 00 43 4C Obj.CLASWPUrl.CL
|
---|
149 | 41 53 57 50 4F 62 6A 65 63 74 00 43 4C 41 53 57 ASWPObject.CLASW
|
---|
150 | 50 46 69 6C 65 53 79 73 74 65 6D 00 43 52 49 54 PFileSystem.CRIT
|
---|
151 | BC F8 F7 13 00 00 00 00 00 00 00 00 08 00 00 00 Œø÷.............
|
---|
152 | 00 00 00 00 02 00 00 00 04 00 00 00 02 00 00 04 ................
|
---|
153 | 00 73 0B 54 00 04 00 30 00 64 00 50 00 28 80 30 .s.T...0.d.P.(0
|
---|
154 | 00 02 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 .........ÿÿÿÿ...
|
---|
155 | 40 EF FF FF FF EF FF FF FF DD FF FF FF EF FF FF @ïÿÿÿïÿÿÿÝÿÿÿïÿÿ
|
---|
156 | FF EF FF FF FF DD FF FF FF 00 00 00 40 00 00 00 ÿïÿÿÿÝÿÿÿ...@...
|
---|
157 | 40 00 00 00 40 00 00 00 00 02 00 00 00 D0 FF FF @...@........Ðÿÿ
|
---|
158 | FF D0 FF FF FF D0 FF FF FF 04 00 74 0B 10 00 08 ÿÐÿÿÿÐÿÿÿ..t....
|
---|
159 | 00 57 50 49 6D 61 67 65 46 69 6C 65 00 FF FF 04 .WPImageFile.ÿÿ.
|
---|
160 | 00 71 0B 18 00 FE FF FF FF 00 00 00 00 FE FF FF .q...þÿÿÿ....þÿÿ
|
---|
161 | FF 00 00 00 00 00 00 00 00 00 00 00 00 04 00 7A ÿ..............z
|
---|
162 | 0B 08 00 00 00 00 00 00 00 00 00 02 00 7B 0B 04 .............{..
|
---|
163 | 00 00 00 00 00 09 00 48 00 57 50 4F 62 6A 65 63 .......H.WPObjec
|
---|
164 | 74 00 04 00 0B 00 20 00 01 00 00 00 00 00 00 00 t..... .........
|
---|
165 | 09 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 ...............
|
---|
166 | 03 00 00 00 02 00 00 00 04 00 0C 00 0E 00 02 00 ................
|
---|
167 | 32 31 37 33 36 34 40 32 30 00 FF FF 04 00 04 00 217364@20.ÿÿ....
|
---|
168 | 08 00 FF FF FF FF FF FF FF FF 00 00 00 00 00 00 ..ÿÿÿÿÿÿÿÿ......
|
---|
169 |
|
---|