首页
社区
课程
招聘
[分享]ExAllocatePool与常见kernel peload的问题
发表于: 2012-11-3 10:44 7407

[分享]ExAllocatePool与常见kernel peload的问题

2012-11-3 10:44
7407
kernel peload的时候大部分人都是用pool来存储pe然后直接执行代码的~其实在x86的情况下,一般ExAllocatePool出来的pool直接可以执行,但是某些x64的系统上pool可能无法执行。
这里提供一个方法map任意的内存为可执行内存~

NTSTATUS MmMapMemoryExcute(PVOID MemAddress,SIZE_T nSize,PVOID *ExecuteMap)
/*
输入参数:
MemAddress  reload后的base地址
nSize 使用真实的ImageSize
ExecuteMap 用于存放map成功后可执行的地址的地址
返回:
只有STATUS_SUCCESS才是成功,其他均为有错误。
*/
{
	NTSTATUS ns = STATUS_UNSUCCESSFUL;
	PMDL                    Mdl;
	if (!MemAddress||!ExecuteMap)
	{
		ns= STATUS_INSUFFICIENT_RESOURCES;
		goto end;
	}
	if (ExGetPreviousMode()!=KernelMode)
	{
		ns = STATUS_ACCESS_DENIED;
		goto end;
	}
	Mdl = IoAllocateMdl(
		MemAddress,
		nSize,
		FALSE,
		TRUE,
		NULL
		);

	if (!Mdl)
	{
		ns = STATUS_INSUFFICIENT_RESOURCES;
		goto end;
	}
	*ExecuteMap = MmMapLockedPagesSpecifyCache(
		Mdl,
		KernelMode,
		MmCached,
		NULL,
		FALSE,
		LowPagePriority
		);

	if (!(*ExecuteMap))
	{
		IoFreeMdl( Mdl );
		ns = STATUS_INSUFFICIENT_RESOURCES;
		goto end;
	}
	ns = MmProtectMdlSystemAddress(
		Mdl,
		PAGE_EXECUTE_READWRITE
		);
	if (!NT_SUCCESS( ns ))
	{
		IoFreeMdl( Mdl );
	}
end:
	return ns;
}


PS:
求捐助,求赞助,求投资,有意者欢迎联系QQ:86879759
欲购买 AntiGameProtect或UltraGameProtect或BypassGameProtect系列代码与产品 也欢迎联系。
AntiGameProtect系列用于穿透驱动保护调试程序
UltraGameProtect系列用于保护程序不被各类调试器(包括滴水调试器,GoodDbg等)成功调试
BypassGameProtect系列用于穿透驱动保护进行各种操作(如读写内存,注入dll,模拟键盘鼠标,防内存检测,DLL隐藏,反CRC效验等)
qq技术扯淡群1:171797360
qq技术扯淡群2:1748876
yy技术扯淡频道:80252844

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 292
活跃值: (153)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
发沙~    太空步强势滑过~  我不认识老V~
2012-11-3 11:14
0
雪    币: 601
活跃值: (256)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
3
2k下没有MmProtectMdlSystemAddress,能替代下不
2012-11-3 13:16
0
雪    币: 155
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
没必要, X64下只有paged pool才是不可执行的,nonpaged pool一定可以执行。

到了WIN8则是xxxxPoolNx不可执行,当然你自己主动搞NonPagedPool一定可以执行~
2012-11-5 14:18
0
雪    币: 219
活跃值: (793)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
5
顶老V的帖子~~~~
2012-11-5 18:02
0
雪    币: 405
活跃值: (2300)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
MDL是个好东西。
2012-11-8 15:21
0
游客
登录 | 注册 方可回帖
返回
//