纯C# 实现的 从内存加载动态链接库,支持加壳的DLL,使用方便 class Program { public delegate Int32 CompressHandle(ref Byte dest,ref Int32 len, Byte [] source,Int32 sourcelen); static void Main(string[] args) { Byte[] source = new byte[10000]; Byte[] dest = new byte[10000]; Int32 len = source.Length; Byte[] dllBin = File.ReadAllBytes("zlib1.dll"); using (var dll = new DllLoader()) { if (dll.LoadLibrary(dllBin)) { var Compress = dll.GetProcDelegate("compress"); if (Compress != null) { var result = Compress.Invoke(ref dest[0], ref len, source, len); Console.WriteLine(result); } } } } }
2019-12-21 21:32:09 1.97MB C# 内存加载DLL 动态链接库
1
内存加载exe的两种方式(支持win7)
2019-12-21 21:28:57 139KB 内存加载exe
1
使用MemoryModule开源方案,内存加载DLL,替代LoadLibrary,不需要把文件存放在磁盘上
2019-12-21 21:02:28 29KB 内存 DLL
1
用MemoryMoudle的类,演示内存加载dll。测试用的dll是我自己写的,里面只有一个函数add,功能是求两个数之和。演示程序里button1是加载动态库,button2是求1+2的和。非常简单
2019-12-21 20:20:14 6.01MB 加载dll
1
64位环境下已签名驱动中实现加载未签名驱动,程序是源代码,可修改编译
2019-12-21 20:10:09 4KB 驱动 内存
1
Android中内存加载dex
2019-12-21 19:59:28 8.23MB 内存加载dex
1
这是一个从内存(资源形式)直接加载并调用DLL中函数的例子。 xDll工程只是一个测试用的dll,附上代码,编译出的xDll.dll直接放在testLoadDll工程目录下 testLoadDll是实际测试代码,从资源直接加载Dll并调用其导出函数 加载用MemoryLoadLibrary() 查找导出函数用MemoryGetProcAddress() 释放时用MemoryFreeLibrary 详情请见代码。 by achillis QQ:344132161
2019-12-21 19:22:56 87KB 内存加载 加载DLL
1
内存加载动态库 MemoryLoadLibrary 有例子。 /* * Memory DLL loading code * Version 0.0.3 * * Copyright (c) 2004-2013 by Joachim Bauch / mail@joachim-bauch.de * http://www.joachim-bauch.de * * The contents of this file are subject to the Mozilla Public License Version * 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is MemoryModule.h * * The Initial Developer of the Original Code is Joachim Bauch. * * Portions created by Joachim Bauch are Copyright (C) 2004-2013 * Joachim Bauch. All Rights Reserved. * */ #ifndef __MEMORY_MODULE_HEADER #define __MEMORY_MODULE_HEADER #include typedef void *HMEMORYMODULE; typedef void *HMEMORYRSRC; typedef void *HCUSTOMMODULE; #ifdef __cplusplus extern "C" { #endif typedef HCUSTOMMODULE (*CustomLoadLibraryFunc)(LPCSTR, void *); typedef FARPROC (*CustomGetProcAddressFunc)(HCUSTOMMODULE, LPCSTR, void *); typedef void (*CustomFreeLibraryFunc)(HCUSTOMMODULE, void *); /** * Load DLL from memory location. * * All dependencies are resolved using default LoadLibrary/GetProcAddress * calls through the Windows API. */ HMEMORYMODULE MemoryLoadLibrary(const void *); /** * Load DLL from memory location using custom dependency resolvers. * * Dependencies will be resolved using passed callback methods. */ HMEMORYMODULE MemoryLoadLibraryEx(const void *, CustomLoadLibraryFunc, CustomGetProcAddressFunc, CustomFreeLibraryFunc, void *); /** * Get address of exported method. */ FARPROC MemoryGetProcAddress(HMEMORYMODULE, LPCSTR); /** * Free previously loaded DLL. */ void MemoryFreeLibrary(HMEMORYMODULE); /** * Find the location of
2013-03-26 00:00:00 28KB 内存dll 内存动态库
1