|
摘取自PIV模块
- <火山程序 类型 = "通常" 版本 = 1 />
- 方法 置进程DEP策略 <公开 静态 类型 = 逻辑型 注释 = "设置32位进程的数据执行保护(DEP)策略,本方法不适用于64位进程(64位进程始终开启DEP且无法禁用)."
- 注释 = "如果想获取进程的DEP策略,可调用"进程操作类.取进程DEP策略"." 返回值注释 = "返回是否设置成功,失败一般是因为系统DEP策略的关系." 折叠 @禁止流程检查 = 真>
- 参数 DEP设置 <类型 = 整数 注释 = "只能在系统DEP为"选择性启用"和"选择性禁用"时修改DEP策略,系统的DEP策略可通过"取系统DEP策略"获取."
- 注释 = " 0 禁用当前进程的DEP;" 注释 = " 1 在当前进程上永久启用DEP,后续将无法在进程的生命周期内禁用DEP;"
- 注释 = " 3 当前进程永久启用DEP,并禁用DEP-ATL thunk emulation;">
- {
- @ typedef BOOL(WINAPI * Typedef_SetProcessDEPPolicy)(DWORD);
- @ Typedef_SetProcessDEPPolicy pfn = reinterpret_cast<Typedef_SetProcessDEPPolicy>(::GetProcAddress(::GetModuleHandleW(L"Kernel32.dll"), "SetProcessDEPPolicy"));
- @ if (pfn) {
- @ return pfn(static_cast<DWORD>(@<DEP设置>));
- @ }
- @ return FALSE;
- }
复制代码 |
|