分享一份自己之前总结以前的代码写的dll内存加载库C++版本: https://github.com/kamichan/image
项目要自行编译生成lib文件
支持:
1. Win32标准Dll
2. MFC Dll
3. 易语言Dll
4. 其他环境下生成的Dll但 不能加壳加密
File: include/ldr.h
/* __ldr_header__ */
#ifndef __LDR_H__
#define __LDR_H__
#ifdef _DEBUG
#pragma comment(lib, "image.d.lib")
#else
#pragma comment(lib, "image.lib")
#endif
#ifdef _WIN32
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
#include <Windows.h>
#include <WinNT.h>
#else
#error Current platform is not supported
#endif
typedef PVOID (__stdcall *malloc_t) (ULONG);
typedef VOID (__stdcall *free_t) (PVOID);
PVOID LdrLoadImage (PVOID Buffer, DWORD Size, malloc_t m = NULL, free_t f = NULL);
PVOID LdrGetProcAddress (PVOID Addr, LPCSTR Name);
VOID LdrFreeImage (PVOID Addr);
#endif
Dll处理接口
PVOID LdrLoadImage (PVOID Buffer, DWORD Size, malloc_t m = NULL, free_t f = NULL);
PVOID LdrGetProcAddress (PVOID Addr, LPCSTR Name);
VOID LdrFreeImage (PVOID Addr);