首页
社区
课程
招聘
[求助]内存加载dll
发表于: 2013-8-2 23:32 9446

[求助]内存加载dll

2013-8-2 23:32
9446
之前使用CreateProcess注入dll,加载dll使用API LoadLibrary
现在想隐藏下dll,决定使用内存加载dll,而非API LoadLibrary
现在想想这样做需要如下步骤:
1.还是用LoadLibrary先加载这个dll,在dll初始化时再次用内存加载方法加载该dll
2.内存加载完成后,使用FreeLibrary卸载dll

感觉这样做有点麻烦,有没有更快捷的方式?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
思路有问题,应该是 开辟堆内存--读取DLL并将其写入这块堆内存--再开辟堆内存模拟LoadLibrary把DLL加载到这块内存--释放第一块堆内存  然后就可以搜索和调用导出函数了
2013-8-3 00:19
0
雪    币: 126
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
申请堆内存存储dll和模拟LoadLibrary加载dll,这部分执行代码也需要用一个注入dll来完成的吧?
因为目标进程的代码我没有
2013-8-3 00:29
0
雪    币: 1392
活跃值: (4867)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
4
writepro..memory     或者filemapping
2013-8-3 05:16
0
雪    币: 652
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
对,必须内存以二进制读取dll,然后自己解析,自己调用,

相当于自己重新写了一PE个加载器。
2013-8-3 09:18
0
雪    币: 1042
活跃值: (470)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
reload,我记得这个版块有相关内容。
2013-8-3 10:16
0
雪    币: 126
活跃值: (169)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
直接在目标进程内分配内存加载内存DLL即可.
VirtualAllocEx可以指定目标进程.把内存加载DLL的VirtualXXX函数都改成VirtualXXXEx函数.
2013-8-4 16:18
0
雪    币: 126
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢各位
2013-8-4 21:20
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
filemapping是不错
2013-8-6 15:26
0
游客
登录 | 注册 方可回帖
返回
//