用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 设定编译参数
参数用法
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窗口了
完美,木马守护进程形式运行也解决了
来源:https://www.cnblogs.com/huim/p/12585491.html