内存加载Dll

分享一份自己之前总结以前的代码写的dll内存加载库C++版本
项目要自行编译生成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);

项目地址: https://github.com/kamichan/image

posted @ 2018-07-27 18:47  KamiBoy  阅读(613)  评论(0编辑  收藏  举报