http://www.microsoft.com/SoftwareDistribution/Server/ClientWebService/GetExtendedUpdateInfo2urn:uuid:'.$uuid.'https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx/secured'.$created.''.$expires.''.$device.''.$updateId.''.$rev.'FileUrlFileDecryption'.$deviceAttributes.''; } // Composes POST data for fetching the latest update information from Windows Update function composeFetchUpdRequest($device, $encData, $arch, $flight, $ring, $build, $sku = 48) { $uuid = randStr(8).'-'.randStr(4).'-'.randStr(4).'-'.randStr(4).'-'.randStr(12); $createdTime = time(); $expiresTime = $createdTime + 120; $created = gmdate(DATE_W3C, $createdTime); $expires = gmdate(DATE_W3C, $expiresTime); $branch = branchFromBuild($build); $products = array( 'PN=Client.OS.rs2.'.$arch.'&Branch='.$branch.'&PrimaryOSProduct=1&V='.$build, 'PN=Windows.Appraiser.'.$arch.'&V='.$build, 'PN=Windows.AppraiserData.'.$arch.'&V='.$build, 'PN=Windows.EmergencyUpdate.'.$arch.'&V='.$build, 'PN=Windows.OOBE.'.$arch.'&V='.$build, 'PN=Windows.UpdateStackPackage.'.$arch.'&Name=Update Stack Package&V='.$build, ); $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/SyncUpdatesurn:uuid:'.$uuid.'https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx'.$created.''.$expires.''.$device.'2046-02-18T21:29:10Z'.$encData.'falsefalsetruetrueExtendedLocalizedPropertiesEulaen-USfalse'.$deviceAttributes.''.$callerAttrib.''.$products.''; } ?>