PEloader

项目地址
https://github.com/hz86/peloader

使用帮助

1、复制PEloader.h、PEloader.c(修改后缀为cpp),创建vs项目。
2、创建main.cpp
调用代码如下:

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include "peloader.h"

int main()
{
	DWORD len = 287744;      // DLL文件大小
	BYTE dll[] = {}; //dll文件数据
	// 载入内存中的DLL
	HMODULE hModule = PeLoader_LoadLibrary(dll, len, 0, NULL, NULL);
    	if (hModule != NULL)
    	{
        printf("载入成功\n");
    	}
	// 获取入口函数地址
	FARPROC dllmain = PeLoader_GetEntryPoint(hModule);
    	if (dllmain != NULL)
    	{
        printf("获取入口成功\n");
    	}
	// 获取函数地址
	FARPROC fun = PeLoader_GetProcAddress(hModule, "StartW");//第二个参数为dll导出函数,cs生成的dll导出函数为StartW,区分大小写
    	if (fun != NULL)
    	{
        printf("获取函数地址成功\n");
    	}


	fun(); //调用导出函数

	// 释放DLL
	PeLoader_FreeLibrary(hModule);
}
 

DLL

DLL数据及大小可以使用anyfiletobyte工具直接生成对应的h文件。
anyfiletobyte下载地址:
http://120.79.21.98:8090/upload/2022/06/AnyFileToByte-9eb8558520c64d62acce602d0d2b59ef.exe
直接将dll文件拖入即可,记得选择生成c++格式文件
image.png

生成之后将会获得一个.h文件以及一个example.cpp文件,我们需要的数据在.文件中
image.png
复制文件大小以及数组中的数据到main.cpp中进行替换,直接编译即可。

杀软测试

火绒
image.png
360
360罢工了,第一次测试可以过
defender
过不了

Q.E.D.