亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? section.c

?? 臭氧層主動防御系統(tǒng)驅(qū)動源代碼!臭氧層主動防御系統(tǒng)驅(qū)動源代碼!
?? C
字號:
/*
 * Copyright (c) 2004 Security Architects Corporation. All rights reserved.
 *
 * Module Name:
 *
 *		section.c
 *
 * Abstract:
 *
 *		This module defines various routines used for hooking section objects related routines.
 *		Section objects are objects that can be mapped into the virtual address space of a process.
 *		The Win32 API refers to section objects as file-mapping objects.
 *
 *		Hooked routines protect "\Device\PhysicalMemory" device from being accessed.
 *
 * Author:
 *
 *		Eugene Tsyrklevich 29-Feb-2004
 *
 * Revision History:
 *
 *		None.
 */


#include <NTDDK.h>
#include "section.h"
#include "hookproc.h"
#include "pathproc.h"
#include "process.h"
#include "accessmask.h"
#include "procname.h"
#include "learn.h"
#include "log.h"


#ifdef ALLOC_PRAGMA
#pragma alloc_text (INIT, InitSectionHooks)
#endif


fpZwCreateSection		OriginalNtCreateSection = NULL;
fpZwOpenSection			OriginalNtOpenSection = NULL;
fpZwMapViewOfSection	OriginalNtMapViewOfSection = NULL;


//XXX make sure people cannot create symlinks to physicalmemory or we at least resolve all of them!
// http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-rutkowski/bh-us-03-rutkowski-r2.pdf


/*
 * HookedNtCreateSection()
 *
 * Description:
 *		This function mediates the NtCreateSection() system service and checks the
 *		provided section name against the global and current process security policies.
 *
 *		NOTE: ZwCreateSection creates a section object. [NAR]
 *
 * Parameters:
 *		Those of NtCreateSection().
 *
 * Returns:
 *		STATUS_ACCESS_DENIED if the call does not pass the security policy check.
 *		Otherwise, NTSTATUS returned by NtCreateSection().
 */

NTSTATUS
NTAPI
HookedNtCreateSection
(
	OUT PHANDLE SectionHandle,
	IN ACCESS_MASK DesiredAccess,
	IN POBJECT_ATTRIBUTES ObjectAttributes,
	IN PLARGE_INTEGER SectionSize OPTIONAL,
	IN ULONG Protect,
	IN ULONG Attributes,
	IN HANDLE FileHandle
)
{
	PCHAR	FunctionName = "HookedNtCreateSection";


	HOOK_ROUTINE_START(SECTION);


	ASSERT(OriginalNtCreateSection);

	rc = OriginalNtCreateSection(SectionHandle, DesiredAccess, ObjectAttributes, SectionSize,
								 Protect, Attributes, FileHandle);


//	HOOK_ROUTINE_FINISH(SECTION);
	if (LearningMode == TRUE)
	{
		if (GetPathFromOA(ObjectAttributes, SECTIONNAME, MAX_PATH, DO_NOT_RESOLVE_LINKS))
		{
			/*
			 * Special Case.
			 * \KnownDlls\* requests are processed as DLL rules.
			 *
			 * In addition, they are processed even if NtCreateSection() failed because not
			 * all the existing DLLs are "known".
			 */

			if (_strnicmp(SECTIONNAME, "\\KnownDlls\\", 11) == 0)
			{
				AddRule(RULE_DLL, SECTIONNAME, Get_SECTION_OperationType(DesiredAccess));
			}
			else if (NT_SUCCESS(rc))
			{
				AddRule(RULE_SECTION, SECTIONNAME, Get_SECTION_OperationType(DesiredAccess));
			}
		}
	}

	HOOK_ROUTINE_EXIT(rc);
}



/*
 * HookedNtOpenSection()
 *
 * Description:
 *		This function mediates the NtOpenSection() system service and checks the
 *		provided section name against the global and current process security policies.
 *
 *		NOTE: ZwOpenSection opens a section object. [NAR]
 *
 * Parameters:
 *		Those of NtOpenSection().
 *
 * Returns:
 *		STATUS_ACCESS_DENIED if the call does not pass the security policy check.
 *		Otherwise, NTSTATUS returned by NtOpenSection().
 */

NTSTATUS
NTAPI
HookedNtOpenSection
(
    OUT PHANDLE  SectionHandle,
    IN ACCESS_MASK  DesiredAccess,
    IN POBJECT_ATTRIBUTES  ObjectAttributes
)
{
	PCHAR	FunctionName = "HookedNtOpenSection";


	HOOK_ROUTINE_START(SECTION);


	ASSERT(OriginalNtOpenSection);

	rc = OriginalNtOpenSection(SectionHandle, DesiredAccess, ObjectAttributes);


//	HOOK_ROUTINE_FINISH(SECTION);
	if (LearningMode == TRUE)
	{
		if (GetPathFromOA(ObjectAttributes, SECTIONNAME, MAX_PATH, DO_NOT_RESOLVE_LINKS))
		{
			/*
			 * Special Case.
			 * \KnownDlls\* requests are processed as DLL rules.
			 *
			 * In addition, they are processed even if NtOpenSection() failed because not
			 * all the existing DLLs are "known".
			 */

			if (_strnicmp(SECTIONNAME, "\\KnownDlls\\", 11) == 0)
			{
				AddRule(RULE_DLL, SECTIONNAME, Get_SECTION_OperationType(DesiredAccess));
			}
			else if (NT_SUCCESS(rc))
			{
				AddRule(RULE_SECTION, SECTIONNAME, Get_SECTION_OperationType(DesiredAccess));
			}
		}
	}

	HOOK_ROUTINE_EXIT(rc);
}



/*
 * HookedNtMapViewOfSection()
 *
 * Description:
 *		This function mediates the NtMapViewOfSection() system service and checks the
 *		provided section name against the global and current process security policies.
 *
 *		NOTE: ZwMapViewOfSection maps a view of a section to a range of virtual addresses. [NAR]
 *
 * Parameters:
 *		Those of NtMapViewOfSection().
 *
 * Returns:
 *		STATUS_ACCESS_DENIED if the call does not pass the security policy check.
 *		Otherwise, NTSTATUS returned by NtMapViewOfSection().
 */

NTSTATUS
NTAPI
HookedNtMapViewOfSection
(
	IN HANDLE SectionHandle,
	IN HANDLE ProcessHandle,
	IN OUT PVOID *BaseAddress,
	IN ULONG ZeroBits,
	IN ULONG CommitSize,
	IN OUT PLARGE_INTEGER SectionOffset OPTIONAL,
	IN OUT PULONG ViewSize,
	IN SECTION_INHERIT InheritDisposition,
	IN ULONG AllocationType,
	IN ULONG Protect
)
{
	CHAR	section[512];


	HOOK_ROUTINE_ENTER();

//	LOG(LOG_SS_SECTION, LOG_PRIORITY_DEBUG, ("%d HookedNtMapViewOfSection: %x %x %x %x\n", (ULONG) PsGetCurrentProcessId(), SectionHandle, ProcessHandle, BaseAddress, CommitSize));
/*
	if (GetPathFromOA(ObjectAttributes, section, RESOLVE_LINKS))
	{
		LOG(LOG_SS_SECTION, LOG_PRIORITY_DEBUG, ("HookedNtMapViewOfSection: %s\n", section));
//		if (PolicyCheck(&gSecPolicy, key, GetRegistryOperationType(DesiredAccess)) == STATUS_ACCESS_DENIED)

//			HOOK_ROUTINE_EXIT( STATUS_ACCESS_DENIED );
	}
*/

	ASSERT(OriginalNtMapViewOfSection);

	rc =  OriginalNtMapViewOfSection(SectionHandle, ProcessHandle, BaseAddress, ZeroBits, CommitSize,
									SectionOffset, ViewSize, InheritDisposition, AllocationType, Protect);

	HOOK_ROUTINE_EXIT(rc);
}



/*
 * InitSectionHooks()
 *
 * Description:
 *		Initializes all the mediated section object operation pointers. The "OriginalFunction" pointers
 *		are initialized by InstallSyscallsHooks() that must be called prior to this function.
 *
 *		NOTE: Called once during driver initialization (DriverEntry()).
 *
 * Parameters:
 *		None.
 *
 * Returns:
 *		TRUE to indicate success, FALSE if failed.
 */

BOOLEAN
InitSectionHooks()
{
	if ( (OriginalNtCreateSection = (fpZwCreateSection) ZwCalls[ZW_CREATE_SECTION_INDEX].OriginalFunction) == NULL)
	{
		LOG(LOG_SS_SECTION, LOG_PRIORITY_DEBUG, ("InitSectionHooks: OriginalNtCreateSection is NULL\n"));
		return FALSE;
	}

	if ( (OriginalNtOpenSection = (fpZwOpenSection) ZwCalls[ZW_OPEN_SECTION_INDEX].OriginalFunction) == NULL)
	{
		LOG(LOG_SS_SECTION, LOG_PRIORITY_DEBUG, ("InitSectionHooks: OriginalNtOpenSection is NULL\n"));
		return FALSE;
	}
/*
	if ((OriginalNtMapViewOfSection = (fpZwMapViewOfSection) ZwCalls[ZW_MAPVIEW_SECTION_INDEX].OriginalFunction) == NULL)
	{
		LOG(LOG_SS_SECTION, LOG_PRIORITY_DEBUG, ("InitSectionHooks: OriginalNtMapViewOfSection is NULL\n"));
		return FALSE;
	}
*/
	return TRUE;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线免费观看| 日韩精品自拍偷拍| 成人app软件下载大全免费| 老司机午夜精品| 亚洲成人激情社区| 亚洲美女视频在线| 国产精品麻豆一区二区| 久久久综合视频| 精品免费日韩av| 欧美一级一级性生活免费录像| 欧美日韩在线一区二区| 91视频在线观看| 青青国产91久久久久久| 久久99精品一区二区三区三区| 婷婷六月综合亚洲| 午夜婷婷国产麻豆精品| 五月婷婷久久丁香| 日韩高清在线电影| 日本免费在线视频不卡一不卡二| 亚洲天堂福利av| 亚洲一区二区三区影院| 夜夜揉揉日日人人青青一国产精品| 综合欧美一区二区三区| 亚洲精品一区二区三区蜜桃下载 | 国产成人免费视频网站| 国产乱子伦一区二区三区国色天香| 久久精品国产免费| 欧美高清在线一区| 亚洲嫩草精品久久| 一区二区三区精品| 亚洲va韩国va欧美va| 免费观看日韩电影| 久久国产精品99久久久久久老狼| 蜜臀av一级做a爰片久久| 亚洲成人精品一区二区| 男女视频一区二区| 国产在线播精品第三| 国产自产高清不卡| 国产成人综合网站| 99久久精品国产毛片| 懂色中文一区二区在线播放| 91香蕉视频mp4| 欧美亚洲一区二区在线| 欧美一卡二卡三卡四卡| 中文字幕高清不卡| 亚洲综合小说图片| 青青草97国产精品免费观看 | 免费成人在线网站| 精品在线播放免费| 成人毛片老司机大片| 欧美视频完全免费看| 欧美一区二区精品在线| 久久久精品蜜桃| 中文字幕不卡一区| 首页国产欧美日韩丝袜| 国产精品一区二区在线看| 99久久精品国产导航| 宅男在线国产精品| 国产农村妇女精品| 亚洲狠狠爱一区二区三区| 日本伊人午夜精品| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美三片在线视频观看| 亚洲精品一区二区三区影院| 亚洲欧美一区二区三区久本道91| 麻豆国产91在线播放| 不卡一区在线观看| 8x8x8国产精品| 久久综合九色欧美综合狠狠| 亚洲欧美视频一区| 国产综合色在线视频区| 成人在线视频首页| 日韩欧美不卡一区| 亚洲人成网站影音先锋播放| 秋霞午夜av一区二区三区| 91麻豆精东视频| 欧美sm极限捆绑bd| 一区二区三区久久| 国产成人精品亚洲午夜麻豆| 欧美一区二区三区在线| 一区在线中文字幕| 激情欧美日韩一区二区| 色香蕉久久蜜桃| 中文字幕一区二区三区视频| 免费成人美女在线观看.| 91最新地址在线播放| 欧美调教femdomvk| 国产精品动漫网站| 久久99精品一区二区三区三区| 日本乱码高清不卡字幕| 国产精品久久二区二区| 韩国成人在线视频| 欧美高清精品3d| 亚洲人成人一区二区在线观看 | 国产a区久久久| 欧美一区二区三区系列电影| 五月婷婷欧美视频| av一区二区久久| 精品久久久久久久久久久久包黑料 | 欧美区在线观看| 亚洲人成网站精品片在线观看| 五月激情六月综合| 色av成人天堂桃色av| 国产精品每日更新在线播放网址| 国精产品一区一区三区mba桃花| 91超碰这里只有精品国产| 中文字幕乱码日本亚洲一区二区| 国产精品66部| 日韩欧美国产午夜精品| 一区二区三区不卡视频| 色综合夜色一区| 中文成人综合网| 国产精品一二三| 欧美福利视频导航| 亚洲国产毛片aaaaa无费看| 色狠狠综合天天综合综合| 国产精品夫妻自拍| www.激情成人| 国产精品萝li| 国产一区二区h| 久久中文娱乐网| 国产成人综合网| 国产精品情趣视频| 成人一区二区三区中文字幕| 中文字幕在线不卡一区 | 色999日韩国产欧美一区二区| 欧美极品xxx| 色欧美乱欧美15图片| 悠悠色在线精品| 欧美亚洲日本国产| 欧美aaaaaa午夜精品| 亚洲精品一区二区三区蜜桃下载| 国产在线精品免费av| 精品处破学生在线二十三| 经典三级在线一区| 国产精品久久久久久久久晋中 | 精品日韩欧美在线| 国产伦精品一区二区三区免费迷 | 久久精品一区八戒影视| 成人a免费在线看| 亚洲午夜激情av| 2欧美一区二区三区在线观看视频| 国产91精品免费| 一片黄亚洲嫩模| 精品久久一区二区三区| 成人h精品动漫一区二区三区| 亚洲最大的成人av| 久久中文字幕电影| 91福利精品视频| 人人爽香蕉精品| 国产精品麻豆欧美日韩ww| 欧美老女人第四色| 成人网在线免费视频| 婷婷久久综合九色综合伊人色| 久久久不卡网国产精品一区| 色狠狠av一区二区三区| 韩国女主播成人在线观看| 亚洲自拍偷拍图区| 国产亚洲一二三区| 欧美精品日日鲁夜夜添| 成人黄色电影在线| 老司机午夜精品| 亚洲一区在线观看视频| 久久久久久免费网| 欧美日韩一级黄| 99免费精品视频| 激情偷乱视频一区二区三区| 亚洲一区二区三区激情| 欧美极品少妇xxxxⅹ高跟鞋| 欧美一区二区精美| 在线亚洲高清视频| 亚洲欧美在线视频| 午夜精品久久久久久久久| 激情五月婷婷综合| 日韩午夜电影在线观看| 精品国产精品一区二区夜夜嗨| 国产精品不卡视频| 日本成人在线网站| 在线观看不卡视频| 亚洲蜜桃精久久久久久久| 亚洲午夜av在线| caoporm超碰国产精品| 国产精品你懂的在线欣赏| 色综合天天综合给合国产| 奇米影视一区二区三区| 亚洲乱码国产乱码精品精小说| 精品国产亚洲在线| 欧美二区在线观看| 欧美性猛交xxxxxx富婆| 99精品视频在线观看| 国产麻豆一精品一av一免费| 麻豆精品视频在线观看免费| 亚洲成人免费视频| 亚洲最新在线观看| 亚洲精品视频免费观看| 久久久综合视频| 日韩欧美中文字幕制服| 91精品欧美综合在线观看最新| 岛国精品在线观看| 国产成人夜色高潮福利影视|