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.")