在 Golang 中使用 Exec 时防止出现命令行窗口
在 Go 中,使用 exec.Command 生成新进程有时会导致出现可见的命令行窗口。即使利用 syscall.SysProcAttr.HideWindow 抑制窗口,此问题仍然存在。
解决方案:
存在另一种方法来执行命令而不生成可见窗口。此解决方案涉及使用 cmd.exe 实用程序执行所需的命令。
代码示例:
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() }
来源:
原始解决方案可以在这里找到: https://www.reddit.com/r/golang/comments/2c1g3x/build_golang_app_reverse_shell_to_run_in_windows/
以上是在 Go 中使用 exec.Command 时如何防止出现命令行窗口?的详细内容。更多信息请关注PHP中文网其他相关文章!