dissect.target 3.19.dev42__py3-none-any.whl → 3.19.dev43__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- dissect/target/plugins/os/windows/wua_history.py +1073 -0
- {dissect.target-3.19.dev42.dist-info → dissect.target-3.19.dev43.dist-info}/METADATA +1 -1
- {dissect.target-3.19.dev42.dist-info → dissect.target-3.19.dev43.dist-info}/RECORD +8 -7
- {dissect.target-3.19.dev42.dist-info → dissect.target-3.19.dev43.dist-info}/COPYRIGHT +0 -0
- {dissect.target-3.19.dev42.dist-info → dissect.target-3.19.dev43.dist-info}/LICENSE +0 -0
- {dissect.target-3.19.dev42.dist-info → dissect.target-3.19.dev43.dist-info}/WHEEL +0 -0
- {dissect.target-3.19.dev42.dist-info → dissect.target-3.19.dev43.dist-info}/entry_points.txt +0 -0
- {dissect.target-3.19.dev42.dist-info → dissect.target-3.19.dev43.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1073 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
import re
|
4
|
+
from datetime import datetime
|
5
|
+
from typing import Iterator
|
6
|
+
|
7
|
+
from dissect.esedb.c_esedb import decode_guid
|
8
|
+
from dissect.esedb.esedb import EseDB
|
9
|
+
from dissect.util.ts import oatimestamp
|
10
|
+
|
11
|
+
from dissect.target.exceptions import UnsupportedPluginError
|
12
|
+
from dissect.target.helpers.record import TargetRecordDescriptor
|
13
|
+
from dissect.target.plugin import Plugin, export
|
14
|
+
|
15
|
+
WuaHistoryRecord = TargetRecordDescriptor(
|
16
|
+
"filesystem/windows/wua_history",
|
17
|
+
[
|
18
|
+
("datetime", "ts"),
|
19
|
+
("varint", "id_event"),
|
20
|
+
("varint", "status"),
|
21
|
+
("varint", "server_selection"),
|
22
|
+
("string", "mapped_result"),
|
23
|
+
("string", "unmapped_result"),
|
24
|
+
("string", "update_id"),
|
25
|
+
("string", "server_id"),
|
26
|
+
("varint", "flags"),
|
27
|
+
("string", "client_id"),
|
28
|
+
("string", "title"),
|
29
|
+
("string", "description"),
|
30
|
+
("string", "uninstall_notes"),
|
31
|
+
("string", "support_url"),
|
32
|
+
("string", "uninstall_steps"),
|
33
|
+
("string", "categories"),
|
34
|
+
("string", "more_info_url"),
|
35
|
+
("string", "path"),
|
36
|
+
("varint", "id_user"),
|
37
|
+
("string", "is_service_is_additional"),
|
38
|
+
("string", "classification"),
|
39
|
+
# Enriched fields
|
40
|
+
("string", "kb"),
|
41
|
+
("string", "status_mapped"),
|
42
|
+
("string", "mapped_result_string"),
|
43
|
+
("string", "mapped_result_description"),
|
44
|
+
("string", "unmapped_result_string"),
|
45
|
+
("string", "unmapped_result_description"),
|
46
|
+
("string", "server_id_mapped"),
|
47
|
+
("string", "server_selection_mapped"),
|
48
|
+
("string", "classification_mapped"),
|
49
|
+
],
|
50
|
+
)
|
51
|
+
|
52
|
+
TBHISTORY_COLUMN_MAP = {
|
53
|
+
"IdEvent": "id_event",
|
54
|
+
"Status": "status",
|
55
|
+
"ServerSelection": "server_selection",
|
56
|
+
"MappedResult": "mapped_result",
|
57
|
+
"UnmappedResult": "unmapped_result",
|
58
|
+
"UpdateId": "update_id",
|
59
|
+
"ServerId": "server_id",
|
60
|
+
"Date": "ts",
|
61
|
+
"Flags": "flags",
|
62
|
+
"ClientId": "client_id",
|
63
|
+
"Title": "title",
|
64
|
+
"Description": "description",
|
65
|
+
"UninstallNotes": "uninstall_notes",
|
66
|
+
"SupportUrl": "support_url",
|
67
|
+
"UninstallSteps": "uninstall_steps",
|
68
|
+
"Categories": "categories",
|
69
|
+
"MoreInfoUrl": "more_info_url",
|
70
|
+
"IdUser": "id_user",
|
71
|
+
"IsServiceIsAdditional": "is_service_is_additional",
|
72
|
+
"Classification": "classification",
|
73
|
+
# Enriched fields
|
74
|
+
"kb": "kb",
|
75
|
+
"status_mapped": "status_mapped",
|
76
|
+
"mapped_result_string": "mapped_result_string",
|
77
|
+
"mapped_result_description": "mapped_result_description",
|
78
|
+
"unmapped_result_string": "unmapped_result_string",
|
79
|
+
"unmapped_result_description": "unmapped_result_description",
|
80
|
+
"server_id_mapped": "server_id_mapped",
|
81
|
+
"server_selection_mapped": "server_selection_mapped",
|
82
|
+
"classification_mapped": "classification_mapped",
|
83
|
+
}
|
84
|
+
|
85
|
+
CLASSIFICATION_MAP = {
|
86
|
+
"5c9376ab-8ce6-464a-b136-22113dd69801": "Application",
|
87
|
+
"434de588-ed14-48f5-8eed-a15e09a991f6": "Connectors",
|
88
|
+
"e6cf1350-c01b-414d-a61f-263d14d133b4": "CriticalUpdates",
|
89
|
+
"e0789628-ce08-4437-be74-2495b842f43b": "DefinitionUpdates",
|
90
|
+
"e140075d-8433-45c3-ad87-e72345b36078": "DeveloperKits",
|
91
|
+
"b54e7d24-7add-428f-8b75-90a396fa584f": "FeaturePacks",
|
92
|
+
"9511d615-35b2-47bb-927f-f73d8e9260bb": "Guidance",
|
93
|
+
"0fa1201d-4330-4fa8-8ae9-b877473b6441": "SecurityUpdates",
|
94
|
+
"68c5b0a3-d1a6-4553-ae49-01d3a7827828": "ServicePacks",
|
95
|
+
"b4832bd8-e735-4761-8daf-37f882276dab": "Tools",
|
96
|
+
"28bc880e-0592-4cbf-8f95-c79b17911d5f": "UpdateRollups",
|
97
|
+
"cd5ffd1e-e932-4e3a-bf74-18bf0b1bbd83": "Updates",
|
98
|
+
"3689bdc8-b205-4af4-8d4a-a63924c5e9d5": "Upgrades",
|
99
|
+
"ebfc1fc5-71a4-4f7b-9aca-3b9a503104a0": "Drivers",
|
100
|
+
}
|
101
|
+
|
102
|
+
SERVER_ID_MAP = {
|
103
|
+
"00000000-0000-0000-0000-000000000000": "Unspecified / Default",
|
104
|
+
"9482f4b4-e343-43b6-b170-9a65bc822c77": "Windows Update",
|
105
|
+
"7971f918-a847-4430-9279-4a52d1efe18d": "Microsoft Update",
|
106
|
+
"855e8a7c-ecb4-4ca3-b045-1dfa50104289": "Store",
|
107
|
+
"8b24b027-1dee-babb-9a95-3517dfb9c552": "OS Flighting",
|
108
|
+
"3da21691-e39d-4da6-8a4b-b43877bcb1b7": "WSUS or Configuration Manager",
|
109
|
+
}
|
110
|
+
|
111
|
+
SERVER_SELECTION_MAP = {
|
112
|
+
0: "ssDefault",
|
113
|
+
1: "ssManagedServer",
|
114
|
+
2: "ssWindowsUpdate",
|
115
|
+
3: "ssOthers",
|
116
|
+
}
|
117
|
+
|
118
|
+
STATUS_MAP = {
|
119
|
+
1: "Success",
|
120
|
+
2: "Failure",
|
121
|
+
}
|
122
|
+
|
123
|
+
WUA_CODE_MAP = {
|
124
|
+
"0x0": ["Success", "Success"],
|
125
|
+
"0x240001": ["WU_S_SERVICE_STOP", "Windows Update Agent was stopped successfully."],
|
126
|
+
"0x240002": ["WU_S_SELFUPDATE", "Windows Update Agent updated itself."],
|
127
|
+
"0x240003": ["WU_S_UPDATE_ERROR", "Operation completed successfully but there were errors applying the updates."],
|
128
|
+
"0x240004": [
|
129
|
+
"WU_S_MARKED_FOR_DISCONNECT",
|
130
|
+
"A callback was marked to be disconnected later because the request to disconnect the operation came while a"
|
131
|
+
" callback was executing.",
|
132
|
+
],
|
133
|
+
"0x240005": ["WU_S_REBOOT_REQUIRED", "The system must be restarted to complete installation of the update."],
|
134
|
+
"0x240006": ["WU_S_ALREADY_INSTALLED", "The update to be installed is already installed on the system."],
|
135
|
+
"0x240007": ["WU_S_ALREADY_UNINSTALLED", "The update to be removed is not installed on the system."],
|
136
|
+
"0x240008": ["WU_S_ALREADY_DOWNLOADED", "The update to be downloaded has already been downloaded."],
|
137
|
+
"0x8024400A": [
|
138
|
+
"WU_E_PT_SOAPCLIENT_PARSE",
|
139
|
+
"SOAPCLIENT_PARSE_ERROR - SOAP client failed to parse the response from the server.",
|
140
|
+
],
|
141
|
+
"0x8024600a": [
|
142
|
+
"WU_E_DM_DOWNLOADLOCATIONCHANGED",
|
143
|
+
"A download must be restarted because the location of the source of the download has changed.",
|
144
|
+
],
|
145
|
+
"0x8024D008": [
|
146
|
+
"WU_E_SELFUPDATE_SKIP_ON_FAILURE",
|
147
|
+
"An update to the Windows Update Agent was skipped because previous attempts to update have failed.",
|
148
|
+
],
|
149
|
+
"0x8024D011": ["WU_E_SELFUPDATE_REQUIRED", "Windows Update Agent must be updated before search can continue."],
|
150
|
+
"0x8024D012": [
|
151
|
+
"WU_E_SELFUPDATE_REQUIRED_ADMIN",
|
152
|
+
"Windows Update Agent must be updated before search can continue. An administrator is required to perform the "
|
153
|
+
"operation",
|
154
|
+
],
|
155
|
+
"0x80243FFF": [
|
156
|
+
"WU_E_AUCLIENT_UNEXPECTED",
|
157
|
+
"There was a user interface error not covered by another WU_E_AUCLIENT_* error code.",
|
158
|
+
],
|
159
|
+
"0x8024A000": ["WU_E_AU_NOSERVICE", "Automatic Updates was unable to service incoming requests."],
|
160
|
+
"0x8024A002": [
|
161
|
+
"WU_E_AU_NONLEGACYSERVER",
|
162
|
+
"The old version of the Automatic Updates client has stopped because the WSUS server has been upgraded.",
|
163
|
+
],
|
164
|
+
"0x8024A003": ["WU_E_AU_LEGACYCLIENTDISABLED", "The old version of the Automatic Updates client was disabled."],
|
165
|
+
"0x8024A004": [
|
166
|
+
"WU_E_AU_PAUSED",
|
167
|
+
"Automatic Updates was unable to process incoming requests because it was paused.",
|
168
|
+
],
|
169
|
+
"0x8024A005": ["WU_E_AU_NO_REGISTERED_SERVICE", "No unmanaged service is registered with AU."],
|
170
|
+
"0x8024AFFF": ["WU_E_AU_UNEXPECTED", "An Automatic Updates error not covered by another WU_E_AU * code."],
|
171
|
+
"0x80243001": [
|
172
|
+
"WU_E_INSTALLATION_RESULTS_UNKNOWN_VERSION",
|
173
|
+
"The results of download and installation could not be read from the registry due to an unrecognized data "
|
174
|
+
"format version.",
|
175
|
+
],
|
176
|
+
"0x80243002": [
|
177
|
+
"WU_E_INSTALLATION_RESULTS_INVALID_DATA",
|
178
|
+
"The results of download and installation could not be read from the registry due to an invalid data format.",
|
179
|
+
],
|
180
|
+
"0x80243003": [
|
181
|
+
"WU_E_INSTALLATION_RESULTS_NOT_FOUND",
|
182
|
+
"The results of download and installation are not available; the operation may have failed to start.",
|
183
|
+
],
|
184
|
+
"0x80243004": [
|
185
|
+
"WU_E_TRAYICON_FAILURE",
|
186
|
+
"A failure occurred when trying to create an icon in the taskbar notification area.",
|
187
|
+
],
|
188
|
+
"0x80243FFD": [
|
189
|
+
"WU_E_NON_UI_MODE",
|
190
|
+
"Unable to show UI when in non-UI mode; WU client UI modules may not be installed.",
|
191
|
+
],
|
192
|
+
"0x80243FFE": ["WU_E_WUCLTUI_UNSUPPORTED_VERSION", "Unsupported version of WU client UI exported functions."],
|
193
|
+
"0x8024043D": ["WU_E_SERVICEPROP_NOTAVAIL", "The requested service property isn't available."],
|
194
|
+
"0x80249001": ["WU_E_INVENTORY_PARSEFAILED", "Parsing of the rule file failed."],
|
195
|
+
"0x80249002": [
|
196
|
+
"WU_E_INVENTORY_GET_INVENTORY_TYPE_FAILED",
|
197
|
+
"Failed to get the requested inventory type from the server.",
|
198
|
+
],
|
199
|
+
"0x80249003": ["WU_E_INVENTORY_RESULT_UPLOAD_FAILED", "Failed to upload inventory result to the server."],
|
200
|
+
"0x80249004": ["WU_E_INVENTORY_UNEXPECTED", "There was an inventory error not covered by another error code."],
|
201
|
+
"0x80249005": [
|
202
|
+
"WU_E_INVENTORY_WMI_ERROR",
|
203
|
+
"A WMI error occurred when enumerating the instances for a particular class.",
|
204
|
+
],
|
205
|
+
"0x8024E001": [
|
206
|
+
"WU_E_EE_UNKNOWN_EXPRESSION",
|
207
|
+
"An expression evaluator operation could not be completed because an expression was unrecognized.",
|
208
|
+
],
|
209
|
+
"0x8024E002": [
|
210
|
+
"WU_E_EE_INVALID_EXPRESSION",
|
211
|
+
"An expression evaluator operation could not be completed because an expression was invalid.",
|
212
|
+
],
|
213
|
+
"0x8024E003": [
|
214
|
+
"WU_E_EE_MISSING_METADATA",
|
215
|
+
"An expression evaluator operation could not be completed because an expression contains an incorrect number "
|
216
|
+
"of metadata nodes.",
|
217
|
+
],
|
218
|
+
"0x8024E004": [
|
219
|
+
"WU_E_EE_INVALID_VERSION",
|
220
|
+
"An expression evaluator operation could not be completed because the version of the serialized expression "
|
221
|
+
"data is invalid.",
|
222
|
+
],
|
223
|
+
"0x8024E005": ["WU_E_EE_NOT_INITIALIZED", "The expression evaluator could not be initialized."],
|
224
|
+
"0x8024E006": [
|
225
|
+
"WU_E_EE_INVALID_ATTRIBUTEDATA",
|
226
|
+
"An expression evaluator operation could not be completed because there was an invalid attribute.",
|
227
|
+
],
|
228
|
+
"0x8024E007": [
|
229
|
+
"WU_E_EE_CLUSTER_ERROR",
|
230
|
+
"An expression evaluator operation could not be completed because the cluster state of the computer could not "
|
231
|
+
"be determined.",
|
232
|
+
],
|
233
|
+
"0x8024EFFF": [
|
234
|
+
"WU_E_EE_UNEXPECTED",
|
235
|
+
"There was an expression evaluator error not covered by another WU_E_EE_* error code.",
|
236
|
+
],
|
237
|
+
"0x80247001": [
|
238
|
+
"WU_E_OL_INVALID_SCANFILE",
|
239
|
+
"An operation could not be completed because the scan package was invalid.",
|
240
|
+
],
|
241
|
+
"0x80247002": [
|
242
|
+
"WU_E_OL_NEWCLIENT_REQUIRED",
|
243
|
+
"An operation could not be completed because the scan package requires a greater version of the Windows Update "
|
244
|
+
"Agent.",
|
245
|
+
],
|
246
|
+
"0x80247FFF": ["WU_E_OL_UNEXPECTED", "Search using the scan package failed."],
|
247
|
+
"0x8024F001": ["WU_E_REPORTER_EVENTCACHECORRUPT", "The event cache file was defective."],
|
248
|
+
"0x8024F002": [
|
249
|
+
"WU_E_REPORTER_",
|
250
|
+
"EVENTNAMESPACEPARSEFAILEDThe XML in the event namespace descriptor could not be parsed.",
|
251
|
+
],
|
252
|
+
"0x8024F003": ["WU_E_INVALID_EVENT", "The XML in the event namespace descriptor could not be parsed."],
|
253
|
+
"0x8024F004": ["WU_E_SERVER_BUSY", "The server rejected an event because the server was too busy."],
|
254
|
+
"0x8024FFFF": ["WU_E_REPORTER_UNEXPECTED", "There was a reporter error not covered by another error code."],
|
255
|
+
"0x80245001": ["WU_E_REDIRECTOR_LOAD_XML", "The redirector XML document could not be loaded into the DOM class."],
|
256
|
+
"0x80245002": ["WU_E_REDIRECTOR_S_FALSE", "The redirector XML document is missing some required information."],
|
257
|
+
"0x80245003": [
|
258
|
+
"WU_E_REDIRECTOR_ID_SMALLER",
|
259
|
+
"The redirector ID in the downloaded redirector cab is less than in the cached cab.",
|
260
|
+
],
|
261
|
+
"0x80245FFF": [
|
262
|
+
"WU_E_REDIRECTOR_UNEXPECTED",
|
263
|
+
"The redirector failed for reasons not covered by another WU_E_REDIRECTOR_* error code.",
|
264
|
+
],
|
265
|
+
"0x80244000": [
|
266
|
+
"WU_E_PT_SOAPCLIENT_BASE",
|
267
|
+
"WU_E_PT_SOAPCLIENT_* error codes map to the SOAPCLIENT_ERROR enum of the ATL Server Library.",
|
268
|
+
],
|
269
|
+
"0x80244001": [
|
270
|
+
"WU_E_PT_SOAPCLIENT_INITIALIZE",
|
271
|
+
"SOAPCLIENT_INITIALIZE_ERROR - initialization of the SOAP client failed, possibly because of an MSXML "
|
272
|
+
"installation failure.",
|
273
|
+
],
|
274
|
+
"0x80244002": [
|
275
|
+
"WU_E_PT_SOAPCLIENT_OUTOFMEMORY",
|
276
|
+
"SOAPCLIENT_OUTOFMEMORY - SOAP client failed because it ran out of memory.",
|
277
|
+
],
|
278
|
+
"0x80244003": [
|
279
|
+
"WU_E_PT_SOAPCLIENT_GENERATE",
|
280
|
+
"SOAPCLIENT_GENERATE_ERROR - SOAP client failed to generate the request.",
|
281
|
+
],
|
282
|
+
"0x80244004": [
|
283
|
+
"WU_E_PT_SOAPCLIENT_CONNECT",
|
284
|
+
"SOAPCLIENT_CONNECT_ERROR - SOAP client failed to connect to the server.",
|
285
|
+
],
|
286
|
+
"0x80244005": [
|
287
|
+
"WU_E_PT_SOAPCLIENT_SEND",
|
288
|
+
"SOAPCLIENT_SEND_ERROR - SOAP client failed to send a message for reasons of WU_E_WINHTTP_* error codes.",
|
289
|
+
],
|
290
|
+
"0x80244006": [
|
291
|
+
"WU_E_PT_SOAPCLIENT_SERVER",
|
292
|
+
"SOAPCLIENT_SERVER_ERROR - SOAP client failed because there was a server error.",
|
293
|
+
],
|
294
|
+
"0x80244007": [
|
295
|
+
"WU_E_PT_SOAPCLIENT_SOAPFAULT",
|
296
|
+
"SOAPCLIENT_SOAPFAULT - SOAP client failed because there was a SOAP fault for reasons of WU_E_PT_SOAP_* error "
|
297
|
+
"codes.",
|
298
|
+
],
|
299
|
+
"0x80244008": [
|
300
|
+
"WU_E_PT_SOAPCLIENT_PARSEFAULT",
|
301
|
+
"SOAPCLIENT_PARSEFAULT_ERROR - SOAP client failed to parse a SOAP fault.",
|
302
|
+
],
|
303
|
+
"0x80244009": [
|
304
|
+
"WU_E_PT_SOAPCLIENT_READ",
|
305
|
+
"SOAPCLIENT_READ_ERROR - SOAP client failed while reading the response from the server.",
|
306
|
+
],
|
307
|
+
"x8024400A": [
|
308
|
+
"WU_E_PT_SOAPCLIENT_PARSE",
|
309
|
+
"Same as SOAPCLIENT_PARSE_ERROR - SOAP client failed to parse the response from the server.",
|
310
|
+
],
|
311
|
+
"0x8024400B": [
|
312
|
+
"WU_E_PT_SOAP_VERSION",
|
313
|
+
"SOAP_E_VERSION_MISMATCH - SOAP client found an unrecognizable namespace for the SOAP envelope.",
|
314
|
+
],
|
315
|
+
"0x8024400C": [
|
316
|
+
"WU_E_PT_SOAP_MUST_UNDERSTAND",
|
317
|
+
"SOAP_E_MUST_UNDERSTAND - SOAP client was unable to understand a header.",
|
318
|
+
],
|
319
|
+
"0x8024400D": [
|
320
|
+
"WU_E_PT_SOAP_CLIENT",
|
321
|
+
"SOAP_E_CLIENT - SOAP client found the message was malformed; fix before resending.",
|
322
|
+
],
|
323
|
+
"0x8024400E": [
|
324
|
+
"WU_E_PT_SOAP_SERVER",
|
325
|
+
"SOAP_E_SERVER - The SOAP message could not be processed due to a server error; resend later.",
|
326
|
+
],
|
327
|
+
"0x8024400F": ["WU_E_PT_WMI_ERROR", "There was an unspecified Windows Management Instrumentation (WMI) error."],
|
328
|
+
"0x80244010": [
|
329
|
+
"WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS",
|
330
|
+
"The number of round trips to the server exceeded the maximum limit.",
|
331
|
+
],
|
332
|
+
"0x80244011": ["WU_E_PT_SUS_SERVER_NOT_SET", "WUServer policy value is missing in the registry."],
|
333
|
+
"0x80244012": [
|
334
|
+
"WU_E_PT_DOUBLE_INITIALIZATION",
|
335
|
+
"Initialization failed because the object was already initialized.",
|
336
|
+
],
|
337
|
+
"0x80244013": ["WU_E_PT_INVALID_COMPUTER_NAME", "The computer name could not be determined."],
|
338
|
+
"0x80244015": [
|
339
|
+
"WU_E_PT_REFRESH_CACHE_REQUIRED",
|
340
|
+
"The reply from the server indicates that the server was changed or the cookie was invalid; refresh the state "
|
341
|
+
"of the internal cache and retry.",
|
342
|
+
],
|
343
|
+
"0x80244016": [
|
344
|
+
"WU_E_PT_HTTP_STATUS_BAD_REQUEST",
|
345
|
+
"HTTP 400 - the server could not process the request due to invalid syntax.",
|
346
|
+
],
|
347
|
+
"0x80244017": ["WU_E_PT_HTTP_STATUS_DENIED", "HTTP 401 - the requested resource requires user authentication."],
|
348
|
+
"0x80244018": [
|
349
|
+
"WU_E_PT_HTTP_STATUS_FORBIDDEN",
|
350
|
+
"HTTP 403 - server understood the request, but declined to fulfill it.",
|
351
|
+
],
|
352
|
+
"0x80244019": [
|
353
|
+
"WU_E_PT_HTTP_STATUS_NOT_FOUND",
|
354
|
+
"HTTP 404 - the server cannot find the requested URI (Uniform Resource Identifier).",
|
355
|
+
],
|
356
|
+
"0x8024401A": ["WU_E_PT_HTTP_STATUS_BAD_METHOD", "HTTP 405 - the HTTP method is not allowed."],
|
357
|
+
"0x8024401B": ["WU_E_PT_HTTP_STATUS_PROXY_AUTH_REQ", "HTTP 407 - proxy authentication is required."],
|
358
|
+
"0x8024401C": ["WU_E_PT_HTTP_STATUS_REQUEST_TIMEOUT", "HTTP 408 - the server timed out waiting for the request."],
|
359
|
+
"0x8024401D": [
|
360
|
+
"WU_E_PT_HTTP_STATUS_CONFLICT",
|
361
|
+
"HTTP 409 - the request was not completed due to a conflict with the current state of the resource.",
|
362
|
+
],
|
363
|
+
"0x8024401E": ["WU_E_PT_HTTP_STATUS_GONE", "HTTP 410 - requested resource is no longer available at the server."],
|
364
|
+
"0x8024401F": [
|
365
|
+
"WU_E_PT_HTTP_STATUS_SERVER_ERROR",
|
366
|
+
"HTTP 500 - an error internal to the server prevented fulfilling the request.",
|
367
|
+
],
|
368
|
+
"0x80244020": [
|
369
|
+
"WU_E_PT_HTTP_STATUS_NOT_SUPPORTED",
|
370
|
+
"HTTP 501 - server does not support the functionality required to fulfill the request.",
|
371
|
+
],
|
372
|
+
"0x80244021": [
|
373
|
+
"WU_E_PT_HTTP_STATUS_BAD_GATEWAY",
|
374
|
+
"HTTP 502 - the server, while acting as a gateway or proxy, received an invalid response from the upstream "
|
375
|
+
"server it accessed in attempting to fulfill the request.",
|
376
|
+
],
|
377
|
+
"0x80244022": ["WU_E_PT_HTTP_STATUS_SERVICE_UNAVAIL", "HTTP 503 - the service is temporarily overloaded."],
|
378
|
+
"0x80244023": [
|
379
|
+
"WU_E_PT_HTTP_STATUS_GATEWAY_TIMEOUT",
|
380
|
+
"HTTP 504 - the request was timed out waiting for a gateway.",
|
381
|
+
],
|
382
|
+
"0x80244024": [
|
383
|
+
"WU_E_PT_HTTP_STATUS_VERSION_NOT_SUP",
|
384
|
+
"HTTP 505 - the server does not support the HTTP protocol version used for the request.",
|
385
|
+
],
|
386
|
+
"0x80244025": [
|
387
|
+
"WU_E_PT_FILE_LOCATIONS_CHANGED",
|
388
|
+
"Operation failed due to a changed file location; refresh internal state and resend.",
|
389
|
+
],
|
390
|
+
"0x80244026": [
|
391
|
+
"WU_E_PT_REGISTRATION_NOT_SUPPORTED",
|
392
|
+
"Operation failed because Windows Update Agent does not support registration with a non-WSUS server.",
|
393
|
+
],
|
394
|
+
"0x80244027": [
|
395
|
+
"WU_E_PT_NO_AUTH_PLUGINS_REQUESTED",
|
396
|
+
"The server returned an empty authentication information list.",
|
397
|
+
],
|
398
|
+
"0x80244028": [
|
399
|
+
"WU_E_PT_NO_AUTH_COOKIES_CREATED",
|
400
|
+
"Windows Update Agent was unable to create any valid authentication cookies.",
|
401
|
+
],
|
402
|
+
"0x80244029": ["WU_E_PT_INVALID_CONFIG_PROP", "A configuration property value was wrong."],
|
403
|
+
"0x8024402A": ["WU_E_PT_CONFIG_PROP_MISSING", "A configuration property value was missing."],
|
404
|
+
"0x8024402B": [
|
405
|
+
"WU_E_PT_HTTP_STATUS_NOT_MAPPED",
|
406
|
+
"The HTTP request could not be completed and the reason did not correspond to any of the WU_E_PT_HTTP_* error "
|
407
|
+
"codes.",
|
408
|
+
],
|
409
|
+
"0x8024402C": [
|
410
|
+
"WU_E_PT_WINHTTP_NAME_NOT_RESOLVED",
|
411
|
+
"ERROR_WINHTTP_NAME_NOT_RESOLVED - the proxy server or target server name cannot be resolved.",
|
412
|
+
],
|
413
|
+
"0x8024402F": ["WU_E_PT_ECP_SUCCEEDED_WITH_ERRORS", "External cab file processing completed with some errors."],
|
414
|
+
"0x80244030": ["WU_E_PT_ECP_INIT_FAILED", "The external cab processor initialization did not complete."],
|
415
|
+
"0x80244031": ["WU_E_PT_ECP_INVALID_FILE_FORMAT", "The format of a metadata file was invalid."],
|
416
|
+
"0x80244032": ["WU_E_PT_ECP_INVALID_METADATA", "External cab processor found invalid metadata."],
|
417
|
+
"0x80244033": [
|
418
|
+
"WU_E_PT_ECP_FAILURE_TO_EXTRACT_DIGEST",
|
419
|
+
"The file digest could not be extracted from an external cab file.",
|
420
|
+
],
|
421
|
+
"0x80244034": ["WU_E_PT_ECP_FAILURE_TO_DECOMPRESS_CAB_FILE", "An external cab file could not be decompressed."],
|
422
|
+
"0x80244035": ["WU_E_PT_ECP_FILE_LOCATION_ERROR", "External cab processor was unable to get file locations."],
|
423
|
+
"0x80244FFF": ["WU_E_PT_UNEXPECTED", "A communication error not covered by another WU_E_PT_* error code"],
|
424
|
+
"0x8024502D": [
|
425
|
+
"WU_E_PT_SAME_REDIR_ID",
|
426
|
+
"Windows Update Agent failed to download a redirector cabinet file with a new redirector ID value from the "
|
427
|
+
"server during the recovery.",
|
428
|
+
],
|
429
|
+
"0x8024502E": [
|
430
|
+
"WU_E_PT_NO_MANAGED_RECOVER",
|
431
|
+
"A redirector recovery action did not complete because the server is managed.",
|
432
|
+
],
|
433
|
+
"0x80246001": [
|
434
|
+
"WU_E_DM_URLNOTAVAILABLE",
|
435
|
+
"A download manager operation could not be completed because the requested file does not have a URL.",
|
436
|
+
],
|
437
|
+
"0x80246002": [
|
438
|
+
"WU_E_DM_INCORRECTFILEHASH",
|
439
|
+
"A download manager operation could not be completed because the file digest was not recognized.",
|
440
|
+
],
|
441
|
+
"0x80246003": [
|
442
|
+
"WU_E_DM_UNKNOWNALGORITHM",
|
443
|
+
"A download manager operation could not be completed because the file metadata requested an unrecognized hash "
|
444
|
+
"algorithm.",
|
445
|
+
],
|
446
|
+
"0x80246004": [
|
447
|
+
"WU_E_DM_NEEDDOWNLOADREQUEST",
|
448
|
+
"An operation could not be completed because a download request is required from the download handler.",
|
449
|
+
],
|
450
|
+
"0x80246005": [
|
451
|
+
"WU_E_DM_NONETWORK",
|
452
|
+
"A download manager operation could not be completed because the network connection was unavailable.",
|
453
|
+
],
|
454
|
+
"0x80246006": [
|
455
|
+
"WU_E_DM_WRONGBITSVERSION",
|
456
|
+
"A download manager operation could not be completed because the version of Background Intelligent Transfer "
|
457
|
+
"Service (BITS) is incompatible.",
|
458
|
+
],
|
459
|
+
"0x80246007": ["WU_E_DM_NOTDOWNLOADED", "The update has not been downloaded."],
|
460
|
+
"0x80246008": [
|
461
|
+
"WU_E_DM_FAILTOCONNECTTOBITS",
|
462
|
+
"A download manager operation failed because the download manager was unable to connect the Background "
|
463
|
+
"Intelligent Transfer Service (BITS).",
|
464
|
+
],
|
465
|
+
"0x80246009": [
|
466
|
+
"WU_E_DM_BITSTRANSFERERROR",
|
467
|
+
"A download manager operation failed because there was an unspecified Background Intelligent Transfer Service "
|
468
|
+
"(BITS) transfer error.",
|
469
|
+
],
|
470
|
+
"0x8024600A": [
|
471
|
+
"WU_E_DM_DOWNLOADLOCATIONCHANGED",
|
472
|
+
"A download must be restarted because the location of the source of the download has changed.",
|
473
|
+
],
|
474
|
+
"0x8024600B": [
|
475
|
+
"WU_E_DM_CONTENTCHANGED",
|
476
|
+
"A download must be restarted because the update content changed in a new revision.",
|
477
|
+
],
|
478
|
+
"0x80246FFF": [
|
479
|
+
"WU_E_DM_UNEXPECTED",
|
480
|
+
"There was a download manager error not covered by another WU_E_DM_* error code.",
|
481
|
+
],
|
482
|
+
"0x80242000": [
|
483
|
+
"WU_E_UH_REMOTEUNAVAILABLE",
|
484
|
+
"A request for a remote update handler could not be completed because no remote process is available.",
|
485
|
+
],
|
486
|
+
"0x80242001": [
|
487
|
+
"WU_E_UH_LOCALONLY",
|
488
|
+
"A request for a remote update handler could not be completed because the handler is local only.",
|
489
|
+
],
|
490
|
+
"0x80242002": [
|
491
|
+
"WU_E_UH_UNKNOWNHANDLER",
|
492
|
+
"A request for an update handler could not be completed because the handler could not be recognized.",
|
493
|
+
],
|
494
|
+
"0x80242003": [
|
495
|
+
"WU_E_UH_REMOTEALREADYACTIVE",
|
496
|
+
"A remote update handler could not be created because one already exists.",
|
497
|
+
],
|
498
|
+
"0x80242004": [
|
499
|
+
"WU_E_UH_DOESNOTSUPPORTACTION",
|
500
|
+
"A request for the handler to install (uninstall) an update could not be completed because the update does not "
|
501
|
+
"support install (uninstall).",
|
502
|
+
],
|
503
|
+
"0x80242005": ["WU_E_UH_WRONGHANDLER", "An operation did not complete because the wrong handler was specified."],
|
504
|
+
"0x80242006": [
|
505
|
+
"WU_E_UH_INVALIDMETADATA",
|
506
|
+
"A handler operation could not be completed because the update contains invalid metadata.",
|
507
|
+
],
|
508
|
+
"0x80242007": [
|
509
|
+
"WU_E_UH_INSTALLERHUNG",
|
510
|
+
"An operation could not be completed because the installer exceeded the time limit.",
|
511
|
+
],
|
512
|
+
"0x80242008": ["WU_E_UH_OPERATIONCANCELLED", "An operation being done by the update handler was cancelled."],
|
513
|
+
"0x80242009": [
|
514
|
+
"WU_E_UH_BADHANDLERXML",
|
515
|
+
"An operation could not be completed because the handler-specific metadata is invalid.",
|
516
|
+
],
|
517
|
+
"0x8024200A": [
|
518
|
+
"WU_E_UH_CANREQUIREINPUT",
|
519
|
+
"A request to the handler to install an update could not be completed because the update requires user input.",
|
520
|
+
],
|
521
|
+
"0x8024200B": ["WU_E_UH_INSTALLERFAILURE", "The installer failed to install (uninstall) one or more updates."],
|
522
|
+
"0x8024200C": [
|
523
|
+
"WU_E_UH_FALLBACKTOSELFCONTAINED",
|
524
|
+
"The update handler should download self-contained content rather than delta-compressed content for the "
|
525
|
+
"update.",
|
526
|
+
],
|
527
|
+
"0x8024200D": [
|
528
|
+
"WU_E_UH_NEEDANOTHERDOWNLOAD",
|
529
|
+
"The update handler did not install the update because it needs to be downloaded again.",
|
530
|
+
],
|
531
|
+
"0x8024200E": [
|
532
|
+
"WU_E_UH_NOTIFYFAILURE",
|
533
|
+
"The update handler failed to send notification of the status of the install (uninstall) operation.",
|
534
|
+
],
|
535
|
+
"0x8024200F": [
|
536
|
+
"WU_E_UH_INCONSISTENT_FILE_NAMES",
|
537
|
+
"The file names contained in the update metadata and in the update package are inconsistent.",
|
538
|
+
],
|
539
|
+
"0x80242010": ["WU_E_UH_FALLBACKERROR", "The update handler failed to fall back to the self-contained content."],
|
540
|
+
"0x80242011": [
|
541
|
+
"WU_E_UH_TOOMANYDOWNLOADREQUESTS",
|
542
|
+
"The update handler has exceeded the maximum number of download requests.",
|
543
|
+
],
|
544
|
+
"0x80242012": ["WU_E_UH_UNEXPECTEDCBSRESPONSE", "The update handler has received an unexpected response from CBS."],
|
545
|
+
"0x80242013": ["WU_E_UH_BADCBSPACKAGEID", "The update metadata contains an invalid CBS package identifier."],
|
546
|
+
"0x80242014": ["WU_E_UH_POSTREBOOTSTILLPENDING", "The post-reboot operation for the update is still in progress."],
|
547
|
+
"0x80242015": [
|
548
|
+
"WU_E_UH_POSTREBOOTRESULTUNKNOWN",
|
549
|
+
"The result of the post-reboot operation for the update could not be determined.",
|
550
|
+
],
|
551
|
+
"0x80242016": [
|
552
|
+
"WU_E_UH_POSTREBOOTUNEXPECTEDSTATE",
|
553
|
+
"The state of the update after its post-reboot operation has completed is unexpected.",
|
554
|
+
],
|
555
|
+
"0x80242017": [
|
556
|
+
"WU_E_UH_NEW_SERVICING_STACK_REQUIRED",
|
557
|
+
"The operating system servicing stack must be updated before this update is downloaded or installed.",
|
558
|
+
],
|
559
|
+
"0x80242FFF": ["WU_E_UH_UNEXPECTED", "An update handler error not covered by another WU_E_UH_* code."],
|
560
|
+
"0x80248000": ["WU_E_DS_SHUTDOWN", "An operation failed because Windows Update Agent is shutting down."],
|
561
|
+
"0x80248001": ["WU_E_DS_INUSE", "An operation failed because the data store was in use."],
|
562
|
+
"0x80248002": ["WU_E_DS_INVALID", "The current and expected states of the data store do not match."],
|
563
|
+
"0x80248003": ["WU_E_DS_TABLEMISSING", "The data store is missing a table."],
|
564
|
+
"0x80248004": ["WU_E_DS_TABLEINCORRECT", "The data store contains a table with unexpected columns."],
|
565
|
+
"0x80248005": [
|
566
|
+
"WU_E_DS_INVALIDTABLENAME",
|
567
|
+
"A table could not be opened because the table is not in the data store.",
|
568
|
+
],
|
569
|
+
"0x80248006": ["WU_E_DS_BADVERSION", "The current and expected versions of the data store do not match."],
|
570
|
+
"0x80248007": ["WU_E_DS_NODATA", "The information requested is not in the data store."],
|
571
|
+
"0x80248008": [
|
572
|
+
"WU_E_DS_MISSINGDATA",
|
573
|
+
"The data store is missing required information or has a NULL in a table column that requires a non-null "
|
574
|
+
"value.",
|
575
|
+
],
|
576
|
+
"0x80248009": [
|
577
|
+
"WU_E_DS_MISSINGREF",
|
578
|
+
"The data store is missing required information or has a reference to missing license terms, file, localized "
|
579
|
+
"property or linked row.",
|
580
|
+
],
|
581
|
+
"0x8024800A": [
|
582
|
+
"WU_E_DS_UNKNOWNHANDLER",
|
583
|
+
"The update was not processed because its update handler could not be recognized.",
|
584
|
+
],
|
585
|
+
"0x8024800B": [
|
586
|
+
"WU_E_DS_CANTDELETE",
|
587
|
+
"The update was not deleted because it is still referenced by one or more services.",
|
588
|
+
],
|
589
|
+
"0x8024800C": [
|
590
|
+
"WU_E_DS_LOCKTIMEOUTEXPIRED",
|
591
|
+
"The data store section could not be locked within the allotted time.",
|
592
|
+
],
|
593
|
+
"0x8024800D": [
|
594
|
+
"WU_E_DS_NOCATEGORIES",
|
595
|
+
"The category was not added because it contains no parent categories and is not a top-level category itself.",
|
596
|
+
],
|
597
|
+
"0x8024800E": ["WU_E_DS_ROWEXISTS", "The row was not added because an existing row has the same primary key."],
|
598
|
+
"0x8024800F": [
|
599
|
+
"WU_E_DS_STOREFILELOCKED",
|
600
|
+
"The data store could not be initialized because it was locked by another process.",
|
601
|
+
],
|
602
|
+
"0x80248010": [
|
603
|
+
"WU_E_DS_CANNOTREGISTER",
|
604
|
+
"The data store is not allowed to be registered with COM in the current process.",
|
605
|
+
],
|
606
|
+
"0x80248011": ["WU_E_DS_UNABLETOSTART", "Could not create a data store object in another process."],
|
607
|
+
"0x80248013": [
|
608
|
+
"WU_E_DS_DUPLICATEUPDATEID",
|
609
|
+
"The server sent the same update to the client with two different revision IDs.",
|
610
|
+
],
|
611
|
+
"0x80248014": [
|
612
|
+
"WU_E_DS_UNKNOWNSERVICE",
|
613
|
+
"An operation did not complete because the service is not in the data store.",
|
614
|
+
],
|
615
|
+
"0x80248015": [
|
616
|
+
"WU_E_DS_SERVICEEXPIRED",
|
617
|
+
"An operation did not complete because the registration of the service has expired.",
|
618
|
+
],
|
619
|
+
"0x80248016": [
|
620
|
+
"WU_E_DS_DECLINENOTALLOWED",
|
621
|
+
"A request to hide an update was declined because it is a mandatory update or because it was deployed with a "
|
622
|
+
"deadline.",
|
623
|
+
],
|
624
|
+
"0x80248017": [
|
625
|
+
"WU_E_DS_TABLESESSIONMISMATCH",
|
626
|
+
"A table was not closed because it is not associated with the session.",
|
627
|
+
],
|
628
|
+
"0x80248018": [
|
629
|
+
"WU_E_DS_SESSIONLOCKMISMATCH",
|
630
|
+
"A table was not closed because it is not associated with the session.",
|
631
|
+
],
|
632
|
+
"0x80248019": [
|
633
|
+
"WU_E_DS_NEEDWINDOWSSERVICE",
|
634
|
+
"A request to remove the Windows Update service or to unregister it with Automatic Updates was declined "
|
635
|
+
"because it is a built-in service and/or Automatic Updates cannot fall back to another service.",
|
636
|
+
],
|
637
|
+
"0x8024801A": ["WU_E_DS_INVALIDOPERATION", "A request was declined because the operation is not allowed."],
|
638
|
+
"0x8024801B": [
|
639
|
+
"WU_E_DS_SCHEMAMISMATCH",
|
640
|
+
"The schema of the current data store and the schema of a table in a backup XML document do not match.",
|
641
|
+
],
|
642
|
+
"0x8024801C": [
|
643
|
+
"WU_E_DS_RESETREQUIRED",
|
644
|
+
"The data store requires a session reset; release the session and retry with a new session.",
|
645
|
+
],
|
646
|
+
"0x8024801D": [
|
647
|
+
"WU_E_DS_IMPERSONATED",
|
648
|
+
"A data store operation did not complete because it was requested with an impersonated identity.",
|
649
|
+
],
|
650
|
+
"0x80248FFF": ["WU_E_DS_UNEXPECTED", "A data store error not covered by another WU_E_DS_* code."],
|
651
|
+
"0x8024C001": ["WU_E_DRV_PRUNED", "A driver was skipped."],
|
652
|
+
"0x8024C002": [
|
653
|
+
"WU_E_DRV_NOPROP_OR_LEGACY",
|
654
|
+
"A property for the driver could not be found. It may not conform with required specifications.",
|
655
|
+
],
|
656
|
+
"0x8024C003": ["WU_E_DRV_REG_MISMATCH", "The registry type read for the driver does not match the expected type."],
|
657
|
+
"0x8024C004": ["WU_E_DRV_NO_METADATA", "The driver update is missing metadata."],
|
658
|
+
"0x8024C005": ["WU_E_DRV_MISSING_ATTRIBUTE", "The driver update is missing a required attribute."],
|
659
|
+
"0x8024C006": ["WU_E_DRV_SYNC_FAILED", "Driver synchronization failed."],
|
660
|
+
"0x8024C007": [
|
661
|
+
"WU_E_DRV_NO_PRINTER_CONTENT",
|
662
|
+
"Information required for the synchronization of applicable printers is missing.",
|
663
|
+
],
|
664
|
+
"0x8024CFFF": ["WU_E_DRV_UNEXPECTED", "A driver error not covered by another WU_E_DRV_* code."],
|
665
|
+
"0x80240001": ["WU_E_NO_SERVICE", "Windows Update Agent was unable to provide the service."],
|
666
|
+
"0x80240002": ["WU_E_MAX_CAPACITY_REACHED", "The maximum capacity of the service was exceeded."],
|
667
|
+
"0x80240003": ["WU_E_UNKNOWN_ID", "An ID cannot be found."],
|
668
|
+
"0x80240004": ["WU_E_NOT_INITIALIZED", "The object could not be initialized."],
|
669
|
+
"0x80240005": [
|
670
|
+
"WU_E_RANGEOVERLAP",
|
671
|
+
"The update handler requested a byte range overlapping a previously requested range.",
|
672
|
+
],
|
673
|
+
"0x80240006": ["WU_E_TOOMANYRANGES", "The requested number of byte ranges exceeds the maximum number (2^31 - 1)."],
|
674
|
+
"0x80240007": ["WU_E_INVALIDINDEX", "The index to a collection was invalid."],
|
675
|
+
"0x80240008": ["WU_E_ITEMNOTFOUND", "The key for the item queried could not be found."],
|
676
|
+
"0x80240009": [
|
677
|
+
"WU_E_OPERATIONINPROGRESS",
|
678
|
+
"Another conflicting operation was in progress. Some operations such as installation cannot be performed twice "
|
679
|
+
"simultaneously.",
|
680
|
+
],
|
681
|
+
"0x8024000A": ["WU_E_COULDNOTCANCEL", "Cancellation of the operation was not allowed."],
|
682
|
+
"0x8024000B": ["WU_E_CALL_CANCELLED", "Operation was cancelled."],
|
683
|
+
"0x8024000C": ["WU_E_NOOP", "No operation was required."],
|
684
|
+
"0x8024000D": [
|
685
|
+
"WU_E_XML_MISSINGDATA",
|
686
|
+
"Windows Update Agent could not find required information in the update's XML data.",
|
687
|
+
],
|
688
|
+
"0x8024000E": ["WU_E_XML_INVALID", "Windows Update Agent found invalid information in the update's XML data."],
|
689
|
+
"0x8024000F": ["WU_E_CYCLE_DETECTED", "Circular update relationships were detected in the metadata."],
|
690
|
+
"0x80240010": ["WU_E_TOO_DEEP_RELATION", "Update relationships too deep to evaluate were evaluated."],
|
691
|
+
"0x80240011": ["WU_E_INVALID_RELATIONSHIP", "An invalid update relationship was detected."],
|
692
|
+
"0x80240012": ["WU_E_REG_VALUE_INVALID", "An invalid registry value was read."],
|
693
|
+
"0x80240013": ["WU_E_DUPLICATE_ITEM", "Operation tried to add a duplicate item to a list."],
|
694
|
+
"0x80240016": [
|
695
|
+
"WU_E_INSTALL_NOT_ALLOWED",
|
696
|
+
"Operation tried to install while another installation was in progress or the system was pending a mandatory "
|
697
|
+
"restart.",
|
698
|
+
],
|
699
|
+
"0x80240017": ["WU_E_NOT_APPLICABLE", "Operation was not performed because there are no applicable updates."],
|
700
|
+
"0x80240018": ["WU_E_NO_USERTOKEN", "Operation failed because a required user token is missing."],
|
701
|
+
"0x80240019": [
|
702
|
+
"WU_E_EXCLUSIVE_INSTALL_CONFLICT",
|
703
|
+
"An exclusive update cannot be installed with other updates at the same time.",
|
704
|
+
],
|
705
|
+
"0x8024001A": ["WU_E_POLICY_NOT_SET", "A policy value was not set."],
|
706
|
+
"0x8024001B": [
|
707
|
+
"WU_E_SELFUPDATE_IN_PROGRESS",
|
708
|
+
"The operation could not be performed because the Windows Update Agent is self-updating.",
|
709
|
+
],
|
710
|
+
"0x8024001D": ["WU_E_INVALID_UPDATE", "An update contains invalid metadata."],
|
711
|
+
"0x8024001E": [
|
712
|
+
"WU_E_SERVICE_STOP",
|
713
|
+
"Operation did not complete because the service or system was being shut down.",
|
714
|
+
],
|
715
|
+
"0x8024001F": ["WU_E_NO_CONNECTION", "Operation did not complete because the network connection was unavailable."],
|
716
|
+
"0x80240020": [
|
717
|
+
"WU_E_NO_INTERACTIVE_USER",
|
718
|
+
"Operation did not complete because there is no logged-on interactive user.",
|
719
|
+
],
|
720
|
+
"0x80240021": ["WU_E_TIME_OUT", "Operation did not complete because it timed out."],
|
721
|
+
"0x80240022": ["WU_E_ALL_UPDATES_FAILED", "Operation failed for all the updates."],
|
722
|
+
"0x80240023": ["WU_E_EULAS_DECLINED", "The license terms for all updates were declined."],
|
723
|
+
"0x80240024": ["WU_E_NO_UPDATE", "There are no updates."],
|
724
|
+
"0x80240025": ["WU_E_USER_ACCESS_DISABLED", "Group Policy settings prevented access to Windows Update."],
|
725
|
+
"0x80240026": ["WU_E_INVALID_UPDATE_TYPE", "The type of update is invalid."],
|
726
|
+
"0x80240027": ["WU_E_URL_TOO_LONG", "The URL exceeded the maximum length."],
|
727
|
+
"0x80240028": [
|
728
|
+
"WU_E_UNINSTALL_NOT_ALLOWED",
|
729
|
+
"The update could not be uninstalled because the request did not originate from a WSUS server.",
|
730
|
+
],
|
731
|
+
"0x80240029": [
|
732
|
+
"WU_E_INVALID_PRODUCT_LICENSE",
|
733
|
+
"Search may have missed some updates before there is an unlicensed application on the system.",
|
734
|
+
],
|
735
|
+
"0x8024002A": ["WU_E_MISSING_HANDLER", "A component required to detect applicable updates was missing."],
|
736
|
+
"0x8024002B": ["WU_E_LEGACYSERVER", "An operation did not complete because it requires a newer version of server."],
|
737
|
+
"0x8024002C": [
|
738
|
+
"WU_E_BIN_SOURCE_ABSENT",
|
739
|
+
"A delta-compressed update could not be installed because it required the source.",
|
740
|
+
],
|
741
|
+
"0x8024002D": ["WU_E_SOURCE_ABSENT", "A full-file update could not be installed because it required the source."],
|
742
|
+
"0x8024002E": ["WU_E_WU_DISABLED", "Access to an unmanaged server is not allowed."],
|
743
|
+
"0x8024002F": [
|
744
|
+
"WU_E_CALL_CANCELLED_BY_POLICY",
|
745
|
+
"Operation did not complete because the DisableWindowsUpdateAccess policy was set.",
|
746
|
+
],
|
747
|
+
"0x80240030": ["WU_E_INVALID_PROXY_SERVER", "The format of the proxy list was invalid."],
|
748
|
+
"0x80240031": ["WU_E_INVALID_FILE", "The file is in the wrong format."],
|
749
|
+
"0x80240032": ["WU_E_INVALID_CRITERIA", "The search criteria string was invalid."],
|
750
|
+
"0x80240033": ["WU_E_EULA_UNAVAILABLE", "License terms could not be downloaded."],
|
751
|
+
"0x80240034": ["WU_E_DOWNLOAD_FAILED", "Update failed to download."],
|
752
|
+
"0x80240035": ["WU_E_UPDATE_NOT_PROCESSED", "The update was not processed."],
|
753
|
+
"0x80240036": ["WU_E_INVALID_OPERATION", "The object's current state did not allow the operation."],
|
754
|
+
"0x80240037": ["WU_E_NOT_SUPPORTED", "The functionality for the operation is not supported."],
|
755
|
+
"0x80240038": ["WU_E_WINHTTP_INVALID_FILE", "The downloaded file has an unexpected content type."],
|
756
|
+
"0x80240039": ["WU_E_TOO_MANY_RESYNC", "Agent is asked by server to resync too many times."],
|
757
|
+
"0x80240040": ["WU_E_NO_SERVER_CORE_SUPPORT", "WUA API method does not run on Server Core installation."],
|
758
|
+
"0x80240041": ["WU_E_SYSPREP_IN_PROGRESS", "Service is not available while sysprep is running."],
|
759
|
+
"0x80240042": ["WU_E_UNKNOWN_SERVICE", "The update service is no longer registered with AU."],
|
760
|
+
"0x80240043": ["WU_E_NO_UI_SUPPORT", "There's no support for WUA UI."],
|
761
|
+
"0x80240FFF": ["WU_E_UNEXPECTED", "An operation failed due to reasons not covered by another error code."],
|
762
|
+
"0x80070422": ["NA", "This issue occurs when the Windows Update service stops working or isn't running."],
|
763
|
+
"0x00240001": ["WU_S_SERVICE_STOP", "Windows Update Agent was stopped successfully."],
|
764
|
+
"0x00240002": ["WU_S_SELFUPDATE", "Windows Update Agent updated itself."],
|
765
|
+
"0x00240003": ["WU_S_UPDATE_ERROR", "Operation completed successfully but there were errors applying the updates."],
|
766
|
+
"0x00240004": [
|
767
|
+
"WU_S_MARKED_FOR_DISCONNECT",
|
768
|
+
"A callback was marked to be disconnected later because the request to disconnect the operation came while a "
|
769
|
+
"callback was executing.",
|
770
|
+
],
|
771
|
+
"0x00240005": ["WU_S_REBOOT_REQUIRED", "The system must be restarted to complete installation of the update."],
|
772
|
+
"0x00240006": ["WU_S_ALREADY_INSTALLED", "The update to be installed is already installed on the system."],
|
773
|
+
"0x00240007": ["WU_S_ALREADY_UNINSTALLED", "The update to be removed isn't installed on the system."],
|
774
|
+
"0x00240008": ["WU_S_ALREADY_DOWNLOADED", "The update to be downloaded has already been downloaded."],
|
775
|
+
"0x80241001": [
|
776
|
+
"WU_E_MSI_WRONG_VERSION",
|
777
|
+
"Search may have missed some updates because the Windows Installer is less than version 3.1.",
|
778
|
+
],
|
779
|
+
"0x80241002": [
|
780
|
+
"WU_E_MSI_NOT_CONFIGURED",
|
781
|
+
"Search may have missed some updates because the Windows Installer is not configured.",
|
782
|
+
],
|
783
|
+
"0x80241003": [
|
784
|
+
"WU_E_MSP_DISABLED",
|
785
|
+
"Search may have missed some updates because policy has disabled Windows Installer patching.",
|
786
|
+
],
|
787
|
+
"0x80241004": [
|
788
|
+
"WU_E_MSI_WRONG_APP_CONTEXT",
|
789
|
+
"An update could not be applied because the application is installed per-user.",
|
790
|
+
],
|
791
|
+
"0x80241FFF": [
|
792
|
+
"WU_E_MSP_UNEXPECTED",
|
793
|
+
"Search may have missed some updates because there was a failure of the Windows Installer.",
|
794
|
+
],
|
795
|
+
"0x8024D001": [
|
796
|
+
"WU_E_SETUP_INVALID_INFDATA",
|
797
|
+
"Windows Update Agent could not be updated because an INF file contains invalid information.",
|
798
|
+
],
|
799
|
+
"0x8024D002": [
|
800
|
+
"WU_E_SETUP_INVALID_IDENTDATA",
|
801
|
+
"Windows Update Agent could not be updated because the wuident.cab file contains invalid information.",
|
802
|
+
],
|
803
|
+
"0x8024D003": [
|
804
|
+
"WU_E_SETUP_ALREADY_INITIALIZED",
|
805
|
+
"Windows Update Agent could not be updated because of an internal error that caused setup initialization to be "
|
806
|
+
"performed twice.",
|
807
|
+
],
|
808
|
+
"0x8024D004": [
|
809
|
+
"WU_E_SETUP_NOT_INITIALIZED",
|
810
|
+
"Windows Update Agent could not be updated because setup initialization never completed successfully.",
|
811
|
+
],
|
812
|
+
"0x8024D005": [
|
813
|
+
"WU_E_SETUP_SOURCE_VERSION_MISMATCH",
|
814
|
+
"Windows Update Agent could not be updated because the versions specified in the INF do not match the actual "
|
815
|
+
"source file versions.",
|
816
|
+
],
|
817
|
+
"0x8024D006": [
|
818
|
+
"WU_E_SETUP_TARGET_VERSION_GREATER",
|
819
|
+
"Windows Update Agent could not be updated because a WUA file on the target system is newer than the "
|
820
|
+
"corresponding source file.",
|
821
|
+
],
|
822
|
+
"0x8024D007": [
|
823
|
+
"WU_E_SETUP_REGISTRATION_FAILED",
|
824
|
+
"Windows Update Agent could not be updated because regsvr32.exe returned an error.",
|
825
|
+
],
|
826
|
+
"0x8024D009": [
|
827
|
+
"WU_E_SETUP_SKIP_UPDATE",
|
828
|
+
"An update to the Windows Update Agent was skipped due to a directive in the wuident.cab file.",
|
829
|
+
],
|
830
|
+
"0x8024D00A": [
|
831
|
+
"WU_E_SETUP_UNSUPPORTED_CONFIGURATION",
|
832
|
+
"Windows Update Agent could not be updated because the current system configuration is not supported.",
|
833
|
+
],
|
834
|
+
"0x8024D00B": [
|
835
|
+
"WU_E_SETUP_BLOCKED_CONFIGURATION",
|
836
|
+
"Windows Update Agent could not be updated because the system is configured to block the update.",
|
837
|
+
],
|
838
|
+
"0x8024D00C": [
|
839
|
+
"WU_E_SETUP_REBOOT_TO_FIX",
|
840
|
+
"Windows Update Agent could not be updated because a restart of the system is required.",
|
841
|
+
],
|
842
|
+
"0x8024D00D": ["WU_E_SETUP_ALREADYRUNNING", "Windows Update Agent setup is already running."],
|
843
|
+
"0x8024D00E": [
|
844
|
+
"WU_E_SETUP_REBOOTREQUIRED",
|
845
|
+
"Windows Update Agent setup package requires a reboot to complete installation.",
|
846
|
+
],
|
847
|
+
"0x8024D00F": [
|
848
|
+
"WU_E_SETUP_HANDLER_EXEC_FAILURE",
|
849
|
+
"Windows Update Agent could not be updated because the setup handler failed during execution.",
|
850
|
+
],
|
851
|
+
"0x8024D010": [
|
852
|
+
"WU_E_SETUP_INVALID_REGISTRY_DATA",
|
853
|
+
"Windows Update Agent could not be updated because the registry contains invalid information.",
|
854
|
+
],
|
855
|
+
"0x8024D013": [
|
856
|
+
"WU_E_SETUP_WRONG_SERVER_VERSION",
|
857
|
+
"Windows Update Agent could not be updated because the server does not contain update information for this "
|
858
|
+
"version.",
|
859
|
+
],
|
860
|
+
"0x8024DFFF": [
|
861
|
+
"WU_E_SETUP_UNEXPECTED",
|
862
|
+
"Windows Update Agent could not be updated because of an error not covered by another WU_E_SETUP_* error code.",
|
863
|
+
],
|
864
|
+
"0x80070BC9": [
|
865
|
+
"ERROR_FAIL_REBOOT_REQUIRED",
|
866
|
+
"The requested operation failed. Restart the system to roll back changes made.",
|
867
|
+
],
|
868
|
+
"0x80200053": ["BG_E_VALIDATION_FAILED", "NA"],
|
869
|
+
"0x80072EFD": ["TIME_OUT_ERRORS", "The operation timed out"],
|
870
|
+
"0x80072EFE": [
|
871
|
+
"WININET_E_CONNECTION_ABORTED; The connection with the server was closed abnormally",
|
872
|
+
"BITS is unable to transfer the file successfully.",
|
873
|
+
],
|
874
|
+
"0x80D02002": ["TIME_OUT_ERRORS", "The operation timed out"],
|
875
|
+
"0X8007000D": ["ERROR_INVALID_DATA", "Indicates data that isn't valid was downloaded or corruption occurred."],
|
876
|
+
"0x8024A10A": ["USO_E_SERVICE_SHUTTING_DOWN", "Indicates that the Windows Update Service is shutting down."],
|
877
|
+
"0x80246017": [
|
878
|
+
"WU_E_DM_UNAUTHORIZED_LOCAL_USER",
|
879
|
+
"The download failed because the local user was denied authorization to download the content.",
|
880
|
+
],
|
881
|
+
"0x800f0821": [
|
882
|
+
"CBS_E_ABORT; client abort, IDABORT returned by ICbsUIHandler method except Error()",
|
883
|
+
"CBS transaction timeout exceeded.",
|
884
|
+
],
|
885
|
+
"0x800f0825": [
|
886
|
+
"CBS_E_CANNOT_UNINSTALL; Package can't be uninstalled.",
|
887
|
+
"Typically this error is due component store corruption caused when a component is in a partially installed "
|
888
|
+
"state.",
|
889
|
+
],
|
890
|
+
"0x800F0920": [
|
891
|
+
"CBS_E_HANG_DETECTED; A failure to respond was detected while processing the operation.",
|
892
|
+
"Subsequent error logged after getting 0x800f0821",
|
893
|
+
],
|
894
|
+
"0x800f081f": [
|
895
|
+
"CBS_E_SOURCE_MISSING; source for package or file not found, ResolveSource() unsuccessful",
|
896
|
+
"Component Store corruption",
|
897
|
+
],
|
898
|
+
"0x800f0831": ["CBS_E_STORE_CORRUPTION; CBS store is corrupted.", "Corruption in the Windows Component Store."],
|
899
|
+
"0x80070005": [
|
900
|
+
"E_ACCESSDENIED; General access denied error",
|
901
|
+
"File system or registry key permissions have been changed and the servicing stack doesn't have the required "
|
902
|
+
"level of access.",
|
903
|
+
],
|
904
|
+
"0x80070003": [
|
905
|
+
"ERROR_PATH_NOT_FOUND; The system can't find the path specified.",
|
906
|
+
"The servicing stack can't access a specific path.",
|
907
|
+
],
|
908
|
+
"0x80073701": [
|
909
|
+
"ERROR_SXS_ASSEMBLY_MISSING; The referenced assembly couldn't be found.",
|
910
|
+
"Typically, a component store corruption caused when a component is in a partially installed state.",
|
911
|
+
],
|
912
|
+
"0x80072F8F": [
|
913
|
+
"WININET_E_DECODING_FAILED; Content decoding has failed",
|
914
|
+
"TLS 1.2 isn't configured correctly on the client.",
|
915
|
+
],
|
916
|
+
"0x80072EE2": [
|
917
|
+
"WININET_E_TIMEOUT; The operation timed out",
|
918
|
+
"Unable to scan for updates due to a connectivity issue to Windows Update, Configuration Manager, or WSUS.",
|
919
|
+
],
|
920
|
+
"0x80070490": ["ERROR_NOT_FOUND", "This error occurs during driver installation as part of the update."],
|
921
|
+
"0x800f0922": [
|
922
|
+
"CBS_E_INSTALLERS_FAILED",
|
923
|
+
"The July cumulative update failed to be installed on Windows Server 2016",
|
924
|
+
],
|
925
|
+
"0x80070bc9": [
|
926
|
+
"ERROR_FAIL_REBOOT_REQUIRED",
|
927
|
+
"The TrustedInstaller service startup type is set to 'Manual' by Group Policy (GPO), which prevented it from "
|
928
|
+
"starting to complete pending operations.",
|
929
|
+
],
|
930
|
+
"0x800706be": [
|
931
|
+
"Failed to install cumulative updates",
|
932
|
+
"Windows Server 2016 Std failed to install cumulative packages by using the .msu package. No error is "
|
933
|
+
"returned. When installing the packages with dism.exe, it returned the error 0x800706be.",
|
934
|
+
],
|
935
|
+
}
|
936
|
+
|
937
|
+
|
938
|
+
class WuaHistoryPlugin(Plugin):
|
939
|
+
"""Plugin to return all available historical Windows Update Agent operations stored in the DataStore.edb."""
|
940
|
+
|
941
|
+
DATASTORE_PATH = "sysvol/windows/softwaredistribution/datastore/datastore.edb"
|
942
|
+
DATASTORE_UPDATE_TABLE = "tbHistory"
|
943
|
+
|
944
|
+
def __init__(self, target):
|
945
|
+
super().__init__(target)
|
946
|
+
|
947
|
+
self._datastore = None
|
948
|
+
self._update_table = None
|
949
|
+
|
950
|
+
if (path := target.fs.path(self.DATASTORE_PATH)).exists():
|
951
|
+
try:
|
952
|
+
self._datastore = EseDB(path.open())
|
953
|
+
self._update_table = self._datastore.table(self.DATASTORE_UPDATE_TABLE)
|
954
|
+
except Exception as e:
|
955
|
+
self.target.log.warning("Error opening Windows Update Agent datastore.", exc_info=e)
|
956
|
+
|
957
|
+
def check_compatible(self) -> None:
|
958
|
+
if not self._datastore or not self._update_table:
|
959
|
+
raise UnsupportedPluginError("No Windows Update Agent data found.")
|
960
|
+
|
961
|
+
def get_table_records(self) -> Iterator[dict[str, str | int | datetime]]:
|
962
|
+
for record in self._update_table.records():
|
963
|
+
record_data = {}
|
964
|
+
for column in self._update_table.columns:
|
965
|
+
column_value = record.get(column.name)
|
966
|
+
|
967
|
+
if mapped_column_name := TBHISTORY_COLUMN_MAP.get(column.name):
|
968
|
+
if mapped_column_name in "unmapped_result":
|
969
|
+
column_value = hex(int(column_value) & 0xFFFFFFFF)
|
970
|
+
|
971
|
+
info = WUA_CODE_MAP.get(column_value, ["Unknown", "Unknown"])
|
972
|
+
record_data[f"{mapped_column_name}_description"] = info[0]
|
973
|
+
record_data[f"{mapped_column_name}_string"] = info[1]
|
974
|
+
|
975
|
+
record_data.update(self._format_record_value(mapped_column_name, column_value))
|
976
|
+
|
977
|
+
yield record_data
|
978
|
+
|
979
|
+
@export(record=WuaHistoryRecord)
|
980
|
+
def wua_history(self) -> Iterator[WuaHistoryRecord]:
|
981
|
+
"""Returns all available historical Windows Update Agent operations stored in the DataStore.edb.
|
982
|
+
|
983
|
+
The Windows Update Agent (WUA) stores information of its operations in a DataStore.edb file.
|
984
|
+
Historical data of these operations, successful or failed performed patches, are stored in the 'tbHistory' table
|
985
|
+
of this database. The plugin extracts all rows of this table. For certain columns of the table the extracted
|
986
|
+
data is mapped to publicly available enumerations to provide more meaningful information.
|
987
|
+
|
988
|
+
With this plugin you should be able to ascertain the patch level of systems, and it may aid you into
|
989
|
+
finding why a system was generating a lot of other types of events in a certain time period.
|
990
|
+
|
991
|
+
References:
|
992
|
+
- https://learn.microsoft.com/en-us/windows/deployment/update/how-windows-update-works
|
993
|
+
- https://learn.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdatehistoryentry
|
994
|
+
- https://learn.microsoft.com/en-us/windows/deployment/update/windows-update-error-reference
|
995
|
+
- https://learn.microsoft.com/en-us/troubleshoot/windows-client/installing-updates-features-roles/common-windows-update-errors
|
996
|
+
- https://learn.microsoft.com/en-us/troubleshoot/windows-client/installing-updates-features-roles/common-windows-update-errors?context=%2Fwindows%2Fdeployment%2Fcontext%2Fcontext
|
997
|
+
|
998
|
+
- https://github.com/libyal/esedb-kb/blob/main/documentation/Windows%20Update.asciidoc
|
999
|
+
- https://www.nirsoft.net/articles/extract-windows-updates-list-external-drive.html
|
1000
|
+
|
1001
|
+
Yields a WuaHistoryRecord with fields:
|
1002
|
+
|
1003
|
+
.. code-block:: text
|
1004
|
+
|
1005
|
+
ts (datetime): The timestamp (UTC) of when the Windows Update Agent operation was finished.
|
1006
|
+
categories (string): Category of the update.
|
1007
|
+
classification (string): Unique ID indicating which classification the update has.
|
1008
|
+
classification_mapped (string): Mapping of the 'classification' field, giving an understandable classification.
|
1009
|
+
client_id (string): Client that initiated the Windows Update Agent operation.
|
1010
|
+
description (string): Description of the update.
|
1011
|
+
flags (int): Undocumented and unknown.
|
1012
|
+
id_event (int): Index number of the Windows Update Agent record in the tbHistory table.
|
1013
|
+
kb (string): Another unique ID of the update.
|
1014
|
+
status (int): Integer signifying result of operation
|
1015
|
+
status_mapped (string): Mapping of the 'status' field.
|
1016
|
+
server_selection (int): The update service that was used for the Windows Update Agent operation.
|
1017
|
+
server_selection_mapped (string): Mapping of the 'server_selection' field.
|
1018
|
+
title (string): Title of the update.
|
1019
|
+
mapped_result (string): The mapped result code of an update operation.
|
1020
|
+
mapped_result_string (string): Mapping of the 'mapped_result' field, giving the error string.
|
1021
|
+
mapped_result_description (string): Mapping of the 'mapped_result' field, giving a description of the error.
|
1022
|
+
unmapped_result (string): The unmapped result code of an update operation.
|
1023
|
+
unmapped_result_string (string): Mapping of the 'unmapped_result' field, giving the error string.
|
1024
|
+
unmapped_result_description (string): Mapping of the 'unmapped_result' field, giving a description of the error.
|
1025
|
+
update_id (string): Unique ID of the performed update.
|
1026
|
+
server_id (string): Unique ID of the service used for the update operation.
|
1027
|
+
server_id_mapped (string): Mapping of the 'server_id' field, indication the service used for the update operation.
|
1028
|
+
support_url (string): Support URL of the update.
|
1029
|
+
uninstall_notes (string): Uninstall notes of the update.
|
1030
|
+
uninstall_steps (string): Uninstall steps of the update.
|
1031
|
+
more_info_url (string): Additional informational URLs of the update.
|
1032
|
+
path (uri): Path of the datastore containing the Windows Update Agent records.
|
1033
|
+
id_user (int): Undocumented and unknown.
|
1034
|
+
is_service_is_additional (string): Undocumented and unknown.
|
1035
|
+
""" # noqa: E501
|
1036
|
+
for record in self.get_table_records():
|
1037
|
+
values = {TBHISTORY_COLUMN_MAP.get(key, key): value for key, value in record.items()}
|
1038
|
+
|
1039
|
+
yield WuaHistoryRecord(
|
1040
|
+
**values,
|
1041
|
+
path=self.target.fs.path(self.DATASTORE_PATH),
|
1042
|
+
_target=self.target,
|
1043
|
+
)
|
1044
|
+
|
1045
|
+
def _format_record_value(self, mapped_column_name: str, value: str) -> dict[str, str | int | datetime]:
|
1046
|
+
format_data = {}
|
1047
|
+
|
1048
|
+
if mapped_column_name == "ts":
|
1049
|
+
format_data[mapped_column_name] = oatimestamp(value)
|
1050
|
+
elif mapped_column_name == "update_id":
|
1051
|
+
format_data[mapped_column_name] = decode_guid(value[:16])
|
1052
|
+
elif mapped_column_name == "server_id":
|
1053
|
+
guid = decode_guid(value[:16])
|
1054
|
+
format_data[mapped_column_name] = guid
|
1055
|
+
format_data["server_id_mapped"] = SERVER_ID_MAP.get(guid, "Unknown")
|
1056
|
+
elif mapped_column_name == "classification":
|
1057
|
+
format_data[mapped_column_name] = value
|
1058
|
+
format_data["classification_mapped"] = CLASSIFICATION_MAP.get(value, "Unknown")
|
1059
|
+
elif mapped_column_name == "title":
|
1060
|
+
format_data[mapped_column_name] = value
|
1061
|
+
if kb := re.search(r"(KB.[0-9]*)", value):
|
1062
|
+
format_data["kb"] = kb.group()
|
1063
|
+
elif mapped_column_name == "status":
|
1064
|
+
format_data[mapped_column_name] = value
|
1065
|
+
format_data["status_mapped"] = STATUS_MAP.get(value, "Unknown")
|
1066
|
+
elif mapped_column_name == "server_selection":
|
1067
|
+
key = value - 1
|
1068
|
+
format_data[mapped_column_name] = key
|
1069
|
+
format_data["server_selection_mapped"] = SERVER_SELECTION_MAP.get(key, "Unknown")
|
1070
|
+
else:
|
1071
|
+
format_data[mapped_column_name] = value
|
1072
|
+
|
1073
|
+
return format_data
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: dissect.target
|
3
|
-
Version: 3.19.
|
3
|
+
Version: 3.19.dev43
|
4
4
|
Summary: This module ties all other Dissect modules together, it provides a programming API and command line tools which allow easy access to various data sources inside disk images or file collections (a.k.a. targets)
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
6
6
|
License: Affero General Public License v3
|
@@ -287,6 +287,7 @@ dissect/target/plugins/os/windows/tasks.py,sha256=8DRsIAuIJPaH_G18l8RYfnK_WkEqVx
|
|
287
287
|
dissect/target/plugins/os/windows/thumbcache.py,sha256=23YjOjTNoE7BYITmg8s9Zs8Wih2e73BkJJEaKlfotcI,4133
|
288
288
|
dissect/target/plugins/os/windows/ual.py,sha256=TYF-R46klEa_HHb86UJd6mPrXwHlAMOUTzC0pZ8uiq0,9787
|
289
289
|
dissect/target/plugins/os/windows/wer.py,sha256=ogecvKYxAvDXLptQj4cn0JLn1FxaXjeSuJWs4JgkoZs,8656
|
290
|
+
dissect/target/plugins/os/windows/wua_history.py,sha256=GrSmnEbPYUrQzixG5JWElMRBoCrUPnZKpsVIwpfPQfg,54785
|
290
291
|
dissect/target/plugins/os/windows/defender_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
291
292
|
dissect/target/plugins/os/windows/defender_helpers/defender_patterns.py,sha256=xsZH0WqMX_mC1q55jgp4RDHBRh2UQBXZVhJD0DRiwZU,9329
|
292
293
|
dissect/target/plugins/os/windows/defender_helpers/defender_records.py,sha256=_azaY5Y1cH-WPmkA5k94PMktZGYXmWJG8addFQxQ554,5177
|
@@ -352,10 +353,10 @@ dissect/target/volumes/luks.py,sha256=OmCMsw6rCUXG1_plnLVLTpsvE1n_6WtoRUGQbpmu1z
|
|
352
353
|
dissect/target/volumes/lvm.py,sha256=wwQVR9I3G9YzmY6UxFsH2Y4MXGBcKL9aayWGCDTiWMU,2269
|
353
354
|
dissect/target/volumes/md.py,sha256=7ShPtusuLGaIv27SvEETtgsuoQyAa4iAAeOR1NEaajI,1689
|
354
355
|
dissect/target/volumes/vmfs.py,sha256=-LoUbn9WNwTtLi_4K34uV_-wDw2W5hgaqxZNj4UmqAQ,1730
|
355
|
-
dissect.target-3.19.
|
356
|
-
dissect.target-3.19.
|
357
|
-
dissect.target-3.19.
|
358
|
-
dissect.target-3.19.
|
359
|
-
dissect.target-3.19.
|
360
|
-
dissect.target-3.19.
|
361
|
-
dissect.target-3.19.
|
356
|
+
dissect.target-3.19.dev43.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
|
357
|
+
dissect.target-3.19.dev43.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
358
|
+
dissect.target-3.19.dev43.dist-info/METADATA,sha256=40QYBthE2QNPlWPP0yCqsNiP-yBtfTFToBFOnJcN4Zo,12897
|
359
|
+
dissect.target-3.19.dev43.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
|
360
|
+
dissect.target-3.19.dev43.dist-info/entry_points.txt,sha256=BWuxAb_6AvUAQpIQOQU0IMTlaF6TDht2AIZK8bHd-zE,492
|
361
|
+
dissect.target-3.19.dev43.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
|
362
|
+
dissect.target-3.19.dev43.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
{dissect.target-3.19.dev42.dist-info → dissect.target-3.19.dev43.dist-info}/entry_points.txt
RENAMED
File without changes
|
File without changes
|