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 = 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); $products = array( 'PN=Client.OS.rs2.'.$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/SyncUpdatesurn:uuid:'.$uuid.'https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx'.$created.''.$expires.''.$device.''.$cookieExpires.''.$encData.'falsefalsetruetrueExtendedLocalizedPropertiesEulaen-USfalse'.$deviceAttributes.''.$callerAttrib.''.$products.''; } // 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/GetCookieurn:uuid:'.$uuid.'https://fe3.delivery.mp.microsoft.com/ClientWebService/client.asmx'.$created.''.$expires.''.$device.''.$created.''.$created.''.$created.'2.0'; } ?>