http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/GetExtendedUpdateInfo2
urn:uuid:$uuid
https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx/secured
$created
$expires
$device
$updateId
$rev
FileUrl
FileDecryption
$deviceAttributes
XML;
}
// Composes POST data for fetching the latest update information from Windows Update
function composeFetchUpdRequest($device, $encData, $arch, $flight, $ring, $build, $sku = 48) {
$uuid = genUUID();
$createdTime = time();
$expiresTime = $createdTime + 120;
$cookieExpiresTime = $createdTime + 604800;
$created = gmdate(DATE_W3C, $createdTime);
$expires = gmdate(DATE_W3C, $expiresTime);
$cookieExpires = gmdate(DATE_W3C, $cookieExpiresTime);
$branch = branchFromBuild($build);
if($sku == 7 || $sku == 8) {
$mainProduct = 'Server.OS';
} else {
$mainProduct = 'Client.OS.rs2';
}
$products = array(
'PN='.$mainProduct.'.'.$arch.'&Branch='.$branch.'&PrimaryOSProduct=1&Repairable=1&V='.$build,
'PN=Windows.Appraiser.'.$arch.'&Repairable=1&V='.$build,
'PN=Windows.AppraiserData.'.$arch.'&Repairable=1&V='.$build,
'PN=Windows.EmergencyUpdate.'.$arch.'&Repairable=1&V='.$build,
'PN=Windows.OOBE.'.$arch.'&IsWindowsOOBE=1&Repairable=1&V='.$build,
'PN=Windows.UpdateStackPackage.'.$arch.'&Name=Update Stack Package&Repairable=1&V='.$build,
'PN=Hammer.'.$arch.'&Source=UpdateOrchestrator&V=0.0.0.0',
'PN=MSRT.'.$arch.'&Source=UpdateOrchestrator&V=0.0.0.0',
'PN=SedimentPack.'.$arch.'&Source=UpdateOrchestrator&V=0.0.0.0',
);
$callerAttrib = array(
'Id=UpdateOrchestrator',
'SheddingAware=1',
'Interactive=1',
'IsSeeker=1',
);
$products = htmlentities(implode(';', $products));
$callerAttrib = htmlentities('E:'.implode('&', $callerAttrib));
$deviceAttributes = composeDeviceAttributes(
$flight,
$ring,
$build,
$arch,
$sku
);
return <<
http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/SyncUpdates
urn:uuid:$uuid
https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx
$created
$expires
$device
$cookieExpires
$encData
false
false
true
true
Extended
LocalizedProperties
Eula
en-US
false
$deviceAttributes
$callerAttrib
$products
XML;
}
// Composes POST data for Get Cookie request
function composeGetCookieRequest($device) {
$uuid = genUUID();
$createdTime = time();
$expiresTime = $createdTime + 120;
$created = gmdate(DATE_W3C, $createdTime);
$expires = gmdate(DATE_W3C, $expiresTime);
return <<
http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/GetCookie
urn:uuid:$uuid
https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx
$created
$expires
$device
$created
$created
$created
2.0
XML;
}
?>