Go 语言生成 Windows 平台二进制文件工具
该代码是一个使用 Go 语言编写的工具,用于生成和编译一个 Windows 平台的二进制文件。具体流程如下:
-
读取命令行参数,第一个参数为要生成二进制文件的 shellcode 文件名,第二个参数为生成的二进制文件的架构类型(可选,默认为 x64)。
-
读取 shellcode 文件的内容,并生成一个随机的 32 字节 key 和 12 字节 nonce。
-
使用 key 和 nonce 对 shellcode 进行加密。
-
生成一个 Go 语言的源代码模板,将加密后的 shellcode、key 和 nonce 以 base64 编码的形式填入模板中。
-
将生成的源代码模板写入到一个临时文件中。
-
根据架构类型设置相应的环境变量,并使用 go 命令编译临时文件,生成一个 Windows 可执行文件。
-
打印生成结果。
其中,detect、loader 和 util 是该工具所依赖的三个包,分别用于检测运行环境、加载二进制文件和提供加密解密等工具函数。
代码中使用 ' ' 代替 " 来表示字符串。
原文地址: https://www.cveoy.top/t/topic/lPeG 著作权归作者所有。请勿转载和采集!