递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 526|回复: 2
打印 上一主题 下一主题

[视窗] 求助 易语言转火山代码 禁用DEP数据执行保护

[复制链接]

3

主题

31

帖子

124

积分

注册会员

Rank: 2

积分
124
跳转到指定楼层
楼主
本帖最后由 2608881662 于 2025-4-5 22:24 编辑

火山写的dll回崩溃,StackHash_56f5模块报错
百度查了一下说需要禁用DEP 希望大佬帮忙看看  火山好像没有提供这个api函数
火山的嵌入代码不怎么会用  请大佬帮帮

易语言代码如图

1458462f-6346-4943-a291-406aa8751e50.png (17.59 KB, 下载次数: 9)

易语言代码

易语言代码

**图片_20250405215946.png (7.48 KB, 下载次数: 8)

报错提示

报错提示
回复

使用道具 举报

28

主题

2161

帖子

7830

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7830
沙发
发表于 4 天前 | 只看该作者
摘取自PIV模块

  1. <火山程序 类型 = "通常" 版本 = 1 />

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

使用道具 举报

3

主题

31

帖子

124

积分

注册会员

Rank: 2

积分
124
板凳
 楼主| 发表于 4 天前 | 只看该作者

非常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-4-9 20:23 , Processed in 0.091854 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表