通过Kernel32.dll实现系统DEP功能的设置方法

版权申诉
0 下载量 10 浏览量 更新于2024-10-08 收藏 4KB RAR 举报
资源摘要信息:"DepMng.rar_dep" 知识点一:数据执行保护(DEP) 数据执行保护(Data Execution Prevention,简称DEP)是一种计算机安全功能,它可以保护计算机系统免受病毒和恶意软件攻击。DEP的主要功能是防止计算机内存中的某些区域被执行代码,即使这些区域被病毒感染或被恶意软件覆盖。该技术通过阻止未经授权的代码运行,以防止攻击者控制计算机系统。 知识点二:Kernel32.dll Kernel32.dll是Windows操作系统中的一个重要的系统动态链接库(DLL)文件。它包含了管理内存、进程、线程以及Windows应用程序接口(API)的基本操作函数。Kernel32.dll文件通常位于Windows系统目录的System32文件夹中,是32位操作系统的核心文件之一。在本案例中,我们将使用Kernel32.dll中的API函数来设置系统DEP功能。 知识点三:API(应用程序接口) 应用程序接口(Application Programming Interface,简称API)是一组预定义的函数、协议和工具,用于构建软件和应用程序。API可以为开发者提供访问操作系统、硬件或软件库的接口。在本案例中,我们需要使用Kernel32.dll中的API函数来设置系统DEP功能。API可以极大地简化编程工作,使得开发者无需从头开始编写代码,而是可以直接调用已有的功能。 知识点四:系统DEP功能的设置 在本案例中,我们将使用Kernel32.dll中的API函数来设置系统DEP功能。具体来说,我们可能需要使用如下API函数:SetProcessDEPPolicy,它可以设置进程的DEP策略;或者VirtualAllocEx,它可以在指定的进程中分配、重新分配或释放一块虚拟内存,并且可以设置内存保护选项,包括DEP保护。 知识点五:编程实现DEP功能设置 要实现DEP功能的设置,开发者需要具备一定的编程知识,如熟悉C++语言和Windows编程环境。在本案例中,我们可能需要编写一个名为DepMng.cpp的C++源文件来实现DEP功能设置。此外,文件列表中的DepMng.vcproj是Visual C++项目文件,它包含了项目设置信息,如编译选项、链接器选项等。DepMng.dsp是旧版Visual C++项目文件,用于定义和控制项目。 知识点六:调试和测试 在开发过程中,调试和测试是必不可少的环节。TEST106.txt可能是一个测试用例或测试结果文件,用于记录程序的测试过程和结果。开发者需要通过测试来确保程序按预期运行,DEP功能能够正确地被设置和启用。此外,文件列表中的StdAfx.cpp和StdAfx.h可能包含了标准预编译头文件和标准库文件,这有助于提高编译效率和代码复用度。 总结以上内容,本案例涉及到的技术点包括数据执行保护(DEP)的功能和设置方法,Kernel32.dll动态链接库中的API函数使用,以及如何在编程环境中实现系统DEP功能的设置和测试。通过掌握这些知识点,开发者可以有效地保护计算机系统免受病毒和恶意软件攻击,提升系统的安全性。

请将这个存储过程修改为触发器,当其余四个表插入新数据时,t_pcm_prod_own能够修改更新数据 CREATE DEFINER=root@% PROCEDURE test03() BEGIN -- 是否持有活期 IF EXISTS(SELECT CUST_ID FROM T_PCM_PROD_OWN WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_DEP_CURR)) THEN UPDATE T_PCM_PROD_OWN SET IS_DEP = '1' WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_DEP_CURR); ELSE UPDATE T_PCM_PROD_OWN SET IS_DEP = '0' WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_DEP_CURR); END IF; -- 是否持有定期 IF EXISTS(SELECT CUST_ID FROM T_PCM_PROD_OWN WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_DEP_FIXED)) THEN UPDATE T_PCM_PROD_OWN SET IS_FIXED_DEP = '1' WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_DEP_FIXED); ELSE UPDATE T_PCM_PROD_OWN SET IS_FIXED_DEP = '0' WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_DEP_FIXED); END IF; -- 是否持有贷款 IF EXISTS(SELECT CUST_ID FROM T_PCM_PROD_OWN WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_LOAN)) THEN UPDATE T_PCM_PROD_OWN SET IS_LOAN = '1' WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_LOAN); ELSE UPDATE T_PCM_PROD_OWN SET IS_LOAN = '0' WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_LOAN); END IF; -- 是否持有理财 IF EXISTS(SELECT CUST_ID FROM T_PCM_PROD_OWN WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_WEALTH)) THEN UPDATE T_PCM_PROD_OWN SET IS_WEALTH = '1' WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_WEALTH); ELSE UPDATE T_PCM_PROD_OWN SET IS_WEALTH = '0' WHERE CUST_ID IN (SELECT CUST_ID FROM T_PCM_WEALTH); END IF; INSERT INTO T_PCM_PROD_OWN SELECT REPLACE(UUID(),'-','') ,T_PCM_CUST.CUST_ID ,T_PCM_CUST.LAW_ORG_ID ,T_PCM_CUST.ECIF_CUST_ID ,T_PCM_PROD_OWN.IS_DEP ,T_PCM_PROD_OWN.IS_FIXED_DEP ,T_PCM_PROD_OWN.IS_LOAN ,T_PCM_PROD_OWN.IS_WEALTH ,T_PCM_DEP_CURR.CURRENT_BAL ,T_PCM_DEP_FIXED.BAL ,T_PCM_LOAN.LOAN_MON ,T_PCM_WEALTH.CURRENT_BAL FROM T_PCM_CUST LEFT JOIN T_PCM_DEP_CURR ON T_PCM_CUST.CUST_ID = T_PCM_DEP_CURR.CUST_ID LEFT JOIN T_PCM_DEP_FIXED ON T_PCM_CUST.CUST_ID = T_PCM_DEP_FIXED.CUST_ID LEFT JOIN T_PCM_LOAN ON T_PCM_CUST.CUST_ID = T_PCM_LOAN.CUST_ID LEFT JOIN T_PCM_WEALTH ON T_PCM_CUST.CUST_ID = T_PCM_WEALTH.CUST_ID LEFT JOIN T_PCM_PROD_OWN ON T_PCM_CUST.CUST_ID = T_PCM_PROD_OWN.CUST_ID; END

2023-07-15 上传