diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 6b6dee1..33b9fbf 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.9")] -[assembly: AssemblyFileVersion("1.0.0.9")] +[assembly: AssemblyVersion("1.0.0.10")] +[assembly: AssemblyFileVersion("1.0.0.10")] diff --git a/XRFAgent.csproj b/XRFAgent.csproj index f97f3b0..20336ad 100644 --- a/XRFAgent.csproj +++ b/XRFAgent.csproj @@ -25,7 +25,7 @@ false false true - 9 + 10 1.0.0.%2a false true @@ -119,7 +119,7 @@ 6.0.0 - 8.0.3 + 8.0.4 diff --git a/modCommand.cs b/modCommand.cs index c1a6422..77ed628 100644 --- a/modCommand.cs +++ b/modCommand.cs @@ -30,9 +30,11 @@ public static void Handle(string inputCommand, string inputSource, string reques if (inputData[1] == "installed" && inputData[2] == "software") { outputResponse = modSystem.GetInstalledSoftware(); } else if (inputData[1] == "system" && inputData[2] == "details") { outputResponse = modSystem.GetSystemDetails(); } break; case "disable" when inputData.Length == 2: - if (inputData[1] == "autoupdate") { outputResponse = modUpdate.DisableAutoupdate(); } break; + if (inputData[1] == "autoupdate") { outputResponse = modUpdate.DisableAutoupdate(); } + if (inputData[1] == "rundialog") { outputResponse = modSystem.ConfigureRunDialog(inputData[0]); } break; case "enable" when inputData.Length == 2: - if (inputData[1] == "autoupdate") { outputResponse = modUpdate.EnableAutoupdate(); } break; + if (inputData[1] == "autoupdate") { outputResponse = modUpdate.EnableAutoupdate(); } + if (inputData[1] == "rundialog") { outputResponse = modSystem.ConfigureRunDialog(inputData[0]); } break; case "hac": case "hacontroller": string inputCommandTrimmed = inputCommand.Remove(0, inputData[0].Length + 1); diff --git a/modSystem.cs b/modSystem.cs index 9f05195..d57d95d 100644 --- a/modSystem.cs +++ b/modSystem.cs @@ -216,5 +216,26 @@ public static string ShutdownHost() return "Shutdown failed"; } } + + /// + /// Configures the system Run dialog, which is frequently used by phone scammers + /// + /// (string) Action to take + /// (string) Response + public static string ConfigureRunDialog(string action) + { + int newvalue = 0; + if (action == "disable") { newvalue = 1; } + RegistryKey explorerPolicies = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer", true); + explorerPolicies.SetValue("NoRun", newvalue, RegistryValueKind.DWord); + explorerPolicies.Close(); + + modDatabase.Config ConfigObj = new modDatabase.Config { Key = "Security_RunDialog", Value = action + "d" }; + modDatabase.AddOrUpdateConfig(ConfigObj); + string SystemDetailsJSON = "{\"systemdetails\":[" + JsonSerializer.Serialize(ConfigObj) + "]}"; + modSync.SendMessage("server", "nodedata", "systemdetails", SystemDetailsJSON); + + return "Run dialog " + action + "d"; + } } }