社区
图形处理/算法
帖子详情
从资源中加载dll
ILoveThisSite
2012-04-05 05:50:21
之前看过有人通过模拟PE操作系统从内存中加载dll的方法,试了一下,发现对于简单的算法dll可行。
但当我的dll调用了其他非系统dll,且那些dll也是需要通过资源文件产生时,dll就会加载失败。经调试发现在填充引入地址表时,对dll依赖的所有dll,依次调用了GetModuleHandle()函数,从而不存在的dll就会查找失败。
有没有高手知道这种情况该如何加载啊?或者有没有其他办法实现从内存中加载dll呢?
...全文
145
2
打赏
收藏
从资源中加载dll
之前看过有人通过模拟PE操作系统从内存中加载dll的方法,试了一下,发现对于简单的算法dll可行。 但当我的dll调用了其他非系统dll,且那些dll也是需要通过资源文件产生时,dll就会加载失败。经调试发现在填充引入地址表时,对dll依赖的所有dll,依次调用了GetModuleHandle()函数,从而不存在的dll就会查找失败。 有没有高手知道这种情况该如何加载啊?或者有没有其他办法实现从内存中加载dll呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SONYPS5201314
2012-06-29
打赏
举报
回复
我是一个学生 告诉你一个最简单的方法吧 直接HOOK GetModuleHandle 不就行了吗
或者更底层实现 让系统为从资源中加载的DLL 创建模块实例句柄
ILoveThisSite
2012-04-12
打赏
举报
回复
怎么没人回哦,自己顶一下
从内存加
载
DLL
完整代码及示例
这是一个从内存(
资源
形式)直接加
载
并调用
DLL
中函数的例子。 x
Dll
工程只是一个测试用的
dll
,附上代码,编译出的x
Dll
.
dll
直接放在testLoad
Dll
工程目录下 testLoad
Dll
是实际测试代码,从
资源
直接加
载
Dll
并调用其导出函数 加
载
用MemoryLoadLibrary() 查找导出函数用MemoryGetProcAddress() 释放时用MemoryFreeLibrary 详情请见代码。 by achillis QQ:344132161
从内存
资源
中加
载
DLL
:CMemLoad
Dll
源码-兼容64位
dll
从网络下
载
了CMemLoad
Dll
源码,整理并增加了对64位
dll
的加
载
,并增加了调用实例代码(含32位、64位
dll
的调用)。以上代码全部基于vs2008,当然CMemLoad
Dll
源码在vc6下也可用。
从
资源
DLL
中选取图标的对话框
这是一个从
资源
DLL
中选取图标的对话框
Windows注入与拦截(6) -- 从内存
中加
载
DLL
Windows提供的API(LoadLibrary, LoadLibraryEx)只支持从文件系统上加
载
DLL
文件,我们无法使用这些API从内存
中加
载
DLL
。 但是有些时候,我们的确需要从内存
中加
载
DLL
,比如: 对发布的文件数量有限制。我们可以将
DLL
打包到exe的
资源
中,程序运行时从调用LoadResource等API读取
DLL
文件到内存中,然后从内存
中加
载
DLL
。 需要对
DLL
进行压缩...
Delphi从内存加
载
dll
,无需从
资源
中释放
dll
今天CSDN的远程调用API终于恢复了访问,不过只能访问
资源
,不能发表!目前国内也很少有支持离线发布的博客了,唉。 下面是搜集来的关于如何不释放
资源
中的
dll
文件,直接从内存
中加
载
dll
,Delphi版: 第一个例子:http://hi.baidu.com/broland/blog/item /6a42ed18812d1676dab4bd32.html 第二个例 子:http://2006ray.spaces.live.com/blog/cns!98ED6075D149E05D!114.en
图形处理/算法
19,469
社区成员
50,697
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章