sat23 a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
..
doc a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
example a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
tests a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
.gitignore a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
.travis.yml a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
CMakeLists.txt a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
LICENSE.txt a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
Makefile a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
MemoryModule.c a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
MemoryModule.h a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
appveyor.yml a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos
readme.md a4d9d81d6e 一个内存加载DLL的源码:https://github.com/clcarwin/LoadMemoryDLL %!s(int64=3) %!d(string=hai) anos

readme.md

MemoryModule

Build StatusBuild status

The default windows API functions to load external libraries into a program (LoadLibrary, LoadLibraryEx) only work with files on the filesystem. It's therefore impossible to load a DLL from memory.

But sometimes, you need exactly this functionality (e.g. you don't want to distribute a lot of files or want to make disassembling harder). Common workarounds for this problems are to write the DLL into a temporary file first and import it from there. When the program terminates, the temporary file gets deleted.

MemoryModule is a library that can be used to load a DLL completely from memory - without storing on the disk first.

See doc/readme.txt for more informations about the format of a DLL file and a tutorial how they can be loaded directly.