Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menghalang Windows Baris Perintah daripada Muncul Apabila Menggunakan `exec.Command` dalam Go?

Bagaimana untuk Menghalang Windows Baris Perintah daripada Muncul Apabila Menggunakan `exec.Command` dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-28 02:22:15311semak imbas

How to Prevent Command Line Windows from Appearing When Using `exec.Command` in Go?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn