使用vs2017把shellcode编译成exe运行

1.打开vs2017 C++开发(如果把shellcode生成linux下的elf文件,需要对应的linux shellcode payload,并安装vs2017 linux开发功能,其它如下流程完成即可),新建一个项目:

2.选择好visual C++,然后选择 Windows桌面应用程序,如果是为了把msf生成的shellcode编译成免杀exe,一定要选这个。选其它的生成的exe会报错,或者黑框框一闪而过。然后设置一下这个项目即将保存的路径,点击确定就好。

3.选择要生成的exe版本(debug/release),还有就是对应的x86还是x64系统上运行。然后把你msf生成的shellcode或者自己写的shellcode丢进来。

4.选择调试—->属性,来配置即将生成的exe相关设置。

5.设置”代码生成”功能,”启用最小重新生成”设置成是,”安全检查” 设置成禁用

6.设置”预编译头”,设置成”不使用预编译头”,点击应用并确定。

7.CTRL+F5运行,之后你就会看到在设置的项目里找到 shell.exe 文件。

注意:用msf生成shellcode,正常的 -e 编码都是支持x86平台,而想要对x64平台的shellcode进行多次编码,需要使用 -e x64/xor 方式。过国内360和安全管家静态查杀是一点问题都没有的。