The Ashampoo Meltdown/Spectre checker utility is a managed executable (C#.NET/VB.NET).
1. Creates a new worker thread to execute the checks (optimisation -> performance).
2. Expands environment variable data for PowerShell.exe ("SystemDrive:\\WINDOWS\\System32\WindowsPowerShell\v1.0\powershell.exe")
3. Checks if the version for PowerShell can be retrieved or not. If this fails then the checking utility aborts the operation.
4. Checks if the version of PowerShell is specifically 5 or any other version.
Version 5 -> Stores data in a List (of type String).
Any other version -> Downloads an archive to a temporary location ("
https://gallery.technet.microsoft.c...e36f0050/file/185258/1/SpeculationControl.zip") and stores data in a List (of type String).
If the version of PowerShell is 5 then the following data is saved to the List (of type String) -> each entry will be a PowerShell command.
Code:
1." $SaveExecutionPolicy = Get-ExecutionPolicy"
2. "Set-ExecutionPolicy RemoteSigned -Force -Scope Currentuser"
3. "CD DIRECTORY_WHERE_THE_DOWNLOAD_WAS\SpeculationControl "
4. "Import-Module .\SpeculationControl.psm1"
5. "Get-SpeculationControlSettings > TEMPORARYPATH"
6. "Set-ExecutionPolicy $SaveExecutionPolicy -Force -Scope Currentuser"
7. "Uninstall-Module -Force SpeculationControl"
If the version of PowerShell is not 5 then the following data is stored to the List (of type String).
Code:
1. "Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force"
2. "Install-Module -Force SpeculationControl"
3. "$SaveExecutionPolicy = Get-ExecutionPolicy"
4. "Set-ExecutionPolicy RemoteSigned -Force -Scope Currentuser"
5. "Import-Module SpeculationControl", "Get-SpeculationControlSettings > TEMPORARYPATH"
6. "Set-ExecutionPolicy $SaveExecutionPolicy -Force -Scope Currentuser"
7. "Uninstall-Module -Force SpeculationControl"
The arguments for the PowerShell process will be: "-NoProfile -InputFormat None -ExecutionPolicy Bypass -Command".
The utility will then execute PowerShell.exe with a hidden window for each command held under the List.
After the PowerShell process start-ups, the results are comprehended to display the correct UI characteristics.
So as we can see, "itman" member from Wilders Security is correct. The utility should notify you if an error occurs and revert back, not leave it modified but not set back.