首页
论坛
专栏
课程

[求助]Minifilter IRP_MJ_CREATE 里使用wcsstr 蓝屏

DepressedMan 2018-11-8 16:33 457
下面是代码
FLT_PREOP_CALLBACK_STATUS PfltPreOperationCallbackCreate(PFLT_CALLBACK_DATA Data, PCFLT_RELATED_OBJECTS FltObjects, PVOID *CompletionContext)
{
	PFILE_ID_BOTH_DIR_INFORMATION pSafeBuffer = Data->Iopb->Parameters.DirectoryControl.QueryDirectory.DirectoryBuffer;

	PWCHAR szFileName = (PWCHAR)ExAllocatePool(NonPagedPool, pSafeBuffer->FileNameLength);
	
	DbgBreakPoint();

	RtlCopyMemory(szFileName, pSafeBuffer->FileName, pSafeBuffer->FileNameLength);

	if (wcsstr(szFileName,L"AAAA.pak"))
	{
		ExFreePool(szFileName);
		return STATUS_ACCESS_DENIED;
	}
	ExFreePool(szFileName);
	return FLT_PREOP_SUCCESS_NO_CALLBACK;
}



[防守篇]2018看雪.TSRC CTF 挑战赛(团队赛)11月1日征题开启!

最后于 2018-11-8 17:14 被DepressedMan编辑 ,原因:
最新回复 (4)
DepressedMan 2018-11-8 16:35
2

0

貌似有内存保护
最后于 2018-11-8 16:47 被DepressedMan编辑 ,原因:
Thead 2018-11-8 18:01
3

0

你这是基础问题了,微软已经说了内核里面不要用这种C语言函数,UNICODE_STRING不一定是以“\0”结尾的
syser 2018-11-8 21:04
4

0

+1

楼主这个ExAllocatePool 多申请个sizeof(WCHAR)

你这是准备加入吃鸡豪华套餐吧 @腾讯 你要关注下了
DepressedMan 2018-11-9 13:54
5

0

syser +1 楼主这个ExAllocatePool 多申请个sizeof(WCHAR) 你这是准备加入吃鸡豪华套餐吧 @腾讯 你要关注下了
有道理
返回