首页
社区
课程
招聘
[求助]64位内核ZwAllocateVirtualMemory失败
发表于: 2015-4-21 23:36 8383

[求助]64位内核ZwAllocateVirtualMemory失败

2015-4-21 23:36
8383
定义:
NTSYSAPI NTSTATUS ZwAllocateVirtualMemory(
	HANDLE    ProcessHandle,
	PVOID     *BaseAddress,
	ULONG     ZeroBits,
	PVOID       RegionSize,
	ULONG     AllocationType,
	ULONG     Protect
	);


在 LoadImageNotifyRoutine 中

NTSTATUS Ret= null;
PVOID BaseAddress = 0;
SIZE_T size = 512;
Ret = ZwAllocateVirtualMemory(NtCurrentProcess(),
							&BaseAddress,
							0,
							&size,
							MEM_COMMIT,
							PAGE_READWRITE
							);
//ZwAllocateVirtualMemory 并不返回了


在进程中可以看到程序,但是程序没有任何相应,很像CREATE_SUSPENDED了。 而且ZwAllocateVirtualMemory并不返回了

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
前排支持!看大神如何解释
2015-4-22 00:27
0
雪    币: 155
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个问题本区有贴解释过的,自己找找。

原因是image notify调用前当前线程已经持有进程地址空间锁;再调用需要此锁的allocatevm,就会死锁

Image notify里不要瞎敢Allocate vm或者什么改导入表注入的蠢事,实在要干可以搞个workitem干
2015-4-22 01:24
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
4
直接修改Lock绕过或者直接自写VM系列函数避免Lock.
或者线程,Workitem什么都行~
2015-4-22 02:25
0
雪    币: 3116
活跃值: (1269)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
5
玩下还行吧?要是海量用户的话。。。你敢?

@kman比较有发言权。。
2015-4-22 10:51
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
6
硬编码够硬够全就好——
2015-4-22 11:14
0
雪    币: 257
活跃值: (67)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
ZwAllocateVirtualMemory(NtCurrentProcess(),
问题就在NtCurrentProcess()这个参数,擦干泪,不要问为什么...
2015-4-22 16:49
0
雪    币: 99
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
谢谢指点。
2015-4-22 18:32
0
雪    币: 99
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢老V ,修改LocK 是先用 ExReleaseFastLock 吗?
2015-4-22 18:35
0
雪    币: 736
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主,解决这个问题了么? 我现在也遇到过这个问题,x64中直接返回STATUS_COMMITMENT_LIMIT,目前没遇到死锁,x86中一切正常~
2015-5-3 21:25
0
雪    币: 96
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
请问下,我在image notify里zwallocatevm 在2003 x86 sp2里可以正常工作 ,windows 2008 x86就死锁了   ,你测试的是什么系统环境?
是不是在镜像加载回调里做iat hook只能用pe间隙了?
2015-5-18 12:23
0
游客
登录 | 注册 方可回帖
返回
//