Menghalang Tetingkap Baris Perintah daripada Muncul Apabila Menggunakan Exec di Golang
In Go, menggunakan exec.Command untuk menghasilkan proses baharu kadangkala boleh menyebabkan tetingkap baris arahan kelihatan untuk dipaparkan. Isu ini berterusan walaupun apabila memanfaatkan syscall.SysProcAttr.HideWindow untuk menyekat tetingkap.
Penyelesaian:
Terdapat pendekatan alternatif untuk melaksanakan arahan tanpa menghasilkan tetingkap yang boleh dilihat. Penyelesaian ini melibatkan penggunaan utiliti cmd.exe untuk melaksanakan arahan yang dikehendaki.
Sampel Kod:
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() }
Sumber:
Penyelesaian asal boleh didapati di sini: https://www.reddit.com/r/golang/comments/2c1g3x/build_golang_app_reverse_shell_to_run_in_windows/
Atas ialah kandungan terperinci Bagaimana untuk Menghalang Windows Baris Perintah daripada Muncul Apabila Menggunakan `exec.Command` dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!