diff --git a/.github/workflows/apbx.yaml b/.github/workflows/apbx.yaml index 445779de4d..ef3b6eb364 100644 --- a/.github/workflows/apbx.yaml +++ b/.github/workflows/apbx.yaml @@ -67,10 +67,10 @@ jobs: $packagePath = "$atlasSrcPath\playbook\Executables\AtlasModules\Packages" mkdir $packagePath -EA 0 | Out-Null Get-ChildItem "configs" -Filter *.yaml | ForEach-Object { - Write-Output "`nProcessing $($_.Name)`n------------------------------------------------------" + Write-Output "`n`nProcessing $($_.Name)`n------------------------------------------------------" Copy-Item -Path $_.FullName -Destination "cfg.yaml" -Force | Out-Null - $folderDir = ".\$atlasSrcPath\sxsc\$($_.Name)" + $folderDir = ".\$atlasSrcPath\sxsc\$($_.Name -replace '-Arm','')" if (Test-Path $folderDir -PathType Container) { Write-Output "Copying $($_.Name)'s files..." Copy-Item -Path "$folderDir\*" -Destination '.\' -Recurse -Force | Out-Null diff --git a/src/playbook/Configuration/atlas/appx.yml b/src/playbook/Configuration/atlas/appx.yml index b763b2d253..878448b85e 100644 --- a/src/playbook/Configuration/atlas/appx.yml +++ b/src/playbook/Configuration/atlas/appx.yml @@ -62,11 +62,6 @@ actions: - !appx: {name: '*Microsoft.XboxGameOverlay*', type: family} - !appx: {name: '*Microsoft.XboxGamingOverlay*', type: family} - - !powerShell: - command: '.\CLIENTCBS.ps1' - exeDir: true - wait: true - # Family App, Quick Assist - !appx: {name: '*MicrosoftCorporationII.QuickAssist*', type: family} - !appx: {name: '*MicrosoftCorporationII.MicrosoftFamily*', type: family} diff --git a/src/playbook/Configuration/tweaks/qol/set-hidden-settings-pages.yml b/src/playbook/Configuration/tweaks/qol/set-hidden-settings-pages.yml index d4eea61028..98878f5f85 100644 --- a/src/playbook/Configuration/tweaks/qol/set-hidden-settings-pages.yml +++ b/src/playbook/Configuration/tweaks/qol/set-hidden-settings-pages.yml @@ -17,6 +17,6 @@ actions: - !registryValue: path: 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer' value: 'SettingsPageVisibility' - data: 'hide:recovery;autoplay;usb;maps;maps-downloadmaps;findmydevice;privacy;privacy-speechtyping;privacy-speech;privacy-feedback;privacy-activityhistory;search-permissions;privacy-location;privacy-general;sync;printers;cortana-windowssearch;mobile-devices;mobile-devices-addphone;family-group;deviceusage;home;account;' + data: 'hide:recovery;autoplay;usb;maps;maps-downloadmaps;findmydevice;privacy;privacy-speechtyping;privacy-speech;privacy-feedback;privacy-activityhistory;search-permissions;privacy-location;privacy-general;sync;printers;cortana-windowssearch;mobile-devices;mobile-devices-addphone;family-group;deviceusage;home;' type: REG_SZ builds: [ '>=22000' ] diff --git a/src/playbook/Executables/CLIENTCBS.ps1 b/src/playbook/Executables/CLIENTCBS.ps1 deleted file mode 100644 index c2e2292a9f..0000000000 --- a/src/playbook/Executables/CLIENTCBS.ps1 +++ /dev/null @@ -1,64 +0,0 @@ -$cbsPublic = "$env:windir\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\Public" - -# Remove ads from the 'Accounts' page in Immersive Control Panel -# -------------------------------------------------------------- - -# Find feature/velocity IDs to disable for the 'Accounts' page -# After disabling each one, there's a 'Microsoft account' page that appears (ms-settings:account) -# It can be hidden by using SettingsPageVisibility - -# Finds velocity IDs listed in 'Accounts' wsxpack -$ids = @() -function Find-VelocityID($Node) { - if ($Node -is [PSCustomObject]) { - # If the node is a PSObject, go through through its properties - foreach ($property in $Node.PSObject.Properties) { - if ($property.Name -eq 'velocityKey' -and $property.Value.id) { - $global:ids += $property.Value.id - } - Find-VelocityID -Node $property.Value - } - } elseif ($Node -is [Array]) { - # If the node is an array, go through its elements - foreach ($element in $Node) { - Find-VelocityID -Node $element - } - } -} -Find-VelocityID -Node $(Get-Content -Path "$cbsPublic\wsxpacks\Account\SettingsExtensions.json" | ConvertFrom-Json) - -# Obfuscate velocity IDs -# Rewritten in PowerShell from ViVE -# https://github.com/thebookisclosed/ViVe/blob/master/ViVe/ObfuscationHelpers.cs -class ObfuscationHelpers { - static [uint32] SwapBytes([uint32] $x) { - $x = ($x -shr 16) -bor ($x -shl 16) - return (($x -band 0xFF00FF00) -shr 8) -bor (($x -band 0x00FF00FF) -shl 8) - } - - static [uint32] RotateRight32([uint32] $value, [int] $shift) { - return ($value -shr $shift) -bor ($value -shl (32 - $shift)) - } - - static [uint32] ObfuscateFeatureId([uint32] $featureId) { - return [ObfuscationHelpers]::RotateRight32(([ObfuscationHelpers]::SwapBytes($featureId -bxor 0x74161A4E) -bxor 0x8FB23D4F), -1) -bxor 0x833EA8FF - } - - static [uint32] DeobfuscateFeatureId([uint32] $featureId) { - return [ObfuscationHelpers]::SwapBytes(([ObfuscationHelpers]::RotateRight32($featureId -bxor 0x833EA8FF, 1) -bxor 0x8FB23D4F)) -bxor 0x74161A4E - } -} - -# Disable velocity IDs -# Applies next reboot -$featureKey = "HKLM:\SYSTEM\CurrentControlSet\Control\FeatureManagement\Overrides\8" -foreach ($id in $($ids | Sort-Object -Unique)) { - $veloId = "$featureKey\$([ObfuscationHelpers]::ObfuscateFeatureId($id))" - Write-Host "Disabling velocity ID '$veloId'..." - New-Item $veloId -Force | Out-Null - Set-ItemProperty -Path $veloId -Name "EnabledStateOptions" -Value 0 -Force - Set-ItemProperty -Path $veloId -Name "EnabledState" -Value 1 -Force - Set-ItemProperty -Path $veloId -Name "VariantPayload" -Value 0 -Force - Set-ItemProperty -Path $veloId -Name "Variant" -Value 0 -Force - Set-ItemProperty -Path $veloId -Name "VariantPayloadKind" -Value 0 -Force -} \ No newline at end of file diff --git a/src/sxsc/Atlas-Misc-Arm.yaml b/src/sxsc/Atlas-Misc-Arm.yaml index cac47f09bf..aabce78c6e 100644 --- a/src/sxsc/Atlas-Misc-Arm.yaml +++ b/src/sxsc/Atlas-Misc-Arm.yaml @@ -9,4 +9,8 @@ updates: files: - file: 'SystemSettingsExtensions.dll' # Remove banner from Settings destination: '$(runtime.windows)\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\' - operation: delete + operation: replace + - file: 'SettingsExtensions.json' # Remove ads from 'Accounts' page in Settings + destination: '$(runtime.windows)\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\Public\wsxpacks\Account\' + operation: replace + text: '{}' diff --git a/src/sxsc/Atlas-Misc.yaml b/src/sxsc/Atlas-Misc.yaml index 20a7130315..d427efdca9 100644 --- a/src/sxsc/Atlas-Misc.yaml +++ b/src/sxsc/Atlas-Misc.yaml @@ -9,4 +9,8 @@ updates: files: - file: 'SystemSettingsExtensions.dll' # Remove banner from Settings destination: '$(runtime.windows)\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\' - operation: delete + operation: replace + - file: 'SettingsExtensions.json' # Remove ads from 'Accounts' page in Settings + destination: '$(runtime.windows)\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\Public\wsxpacks\Account\' + operation: replace + text: '{}'