go生成隱藏cmd窗口exe


用cs veil 生成木馬的時候,將go的源碼進行二次改動,而后進行編譯,很順利,過了各種殺軟UAC成功回連。

但是build生成的木馬,運行的時候,cmd窗口就杵在那兒,這肯定是不行的。
剛開始,覺得是veil沒有輸出了 "守護進程"的代碼,於是找了半天go daemon的代碼,效果不是很理想。
想了想,veil不至於藏代碼,那么可能是用c exe生成了go exe的子進程。
轉頭一想,veil是python的開源的,不管它做了啥,看看就好了。打開veil的源碼看看。

Veil/tools/evasion/evasion_common/outfile.py中
205行,編譯的命令和我的簡單的編譯命令"go build xxx.go"長得不太像。

正文

go build ldflags 設定編譯參數

參數用法

https://golang.org/cmd/link/

go build -ldflags "-s -w -H=windowsgui"

-s 省略符號表和調試信息
-w Omit the DWARF symbol table 省略DWARF符號表
-H windowsgui  不打印信息到console (On Windows, -H windowsgui writes a "GUI binary" instead of a "console binary."),就不會有cmd窗口了

完美,木馬守護進程形式運行也解決了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM