Heim >Backend-Entwicklung >Golang >Wie kann verhindert werden, dass Befehlszeilenfenster angezeigt werden, wenn „exec.Command' in Go verwendet wird?
Verhindern, dass ein Befehlszeilenfenster angezeigt wird, wenn Exec in Golang verwendet wird
In Go kann die Verwendung von exec.Command zum Starten neuer Prozesse manchmal zu einem Problem führen Es erscheint ein sichtbares Befehlszeilenfenster. Dieses Problem besteht auch dann weiterhin, wenn syscall.SysProcAttr.HideWindow zum Unterdrücken des Fensters genutzt wird.
Lösung:
Es gibt einen alternativen Ansatz zum Ausführen von Befehlen, ohne ein sichtbares Fenster zu generieren. Bei dieser Lösung wird das Dienstprogramm cmd.exe verwendet, um den gewünschten Befehl auszuführen.
Codebeispiel:
import "syscall" // Use cmd.exe to execute commands without spawning a visible window func main() { cmd_path := "C:\Windows\system32\cmd.exe" cmd_instance := exec.Command(cmd_path, "/c", "notepad") cmd_instance.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} cmd_output, err := cmd_instance.Output() }
Quelle:
Die Originallösung finden Sie hier: https://www.reddit.com/r/golang/comments/2c1g3x/build_golang_app_reverse_shell_to_run_in_windows/
Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass Befehlszeilenfenster angezeigt werden, wenn „exec.Command' in Go verwendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!