递归火山软件开发平台
标题:
求助 易语言转火山代码 禁用DEP数据执行保护
[打印本页]
作者:
2608881662
时间:
2025-4-5 22:22
标题:
求助 易语言转火山代码 禁用DEP数据执行保护
本帖最后由 2608881662 于 2025-4-5 22:24 编辑
火山写的dll回崩溃,StackHash_56f5模块报错
百度查了一下说需要禁用DEP 希望大佬帮忙看看 火山好像没有提供这个api函数
火山的嵌入代码不怎么会用 请大佬帮帮
易语言代码如图
作者:
Xelloss0618
时间:
2025-4-5 22:35
摘取自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;
}
复制代码
作者:
2608881662
时间:
2025-4-5 22:40
Xelloss0618 发表于 2025-4-5 22:35
摘取自PIV模块
非常感谢
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4