开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5159|回复: 301
收起左侧

[易语言纯源码] 反调试新思路:利用内存工作集检测非法访问

    [复制链接]
结帖率:100% (2/2)
发表于 2025-8-4 23:19:15 | 显示全部楼层 |阅读模式   河南省安阳市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 17176qq 于 2025-8-4 23:33 编辑
实现原理:创建一个特定的“陷阱”内存页,然后将其从进程的**工作集(Working Set)**中清除。

创建陷阱内存:
程序使用 VirtualAlloc 分配一块 4096 字节的内存区域作为“陷阱”。

清除工作集:
调用 EmptyWorkingSet,将所有内存页从物理内存中移除。此时,陷阱内存页的 Valid 标志位变为 0。

循环检测:
程序使用 QueryWorkingSetEx 持续监控陷阱内存页的状态。通过位运算(位与 (PWINFO.PSAPI_WORKING_SET_EX_BLOCK, 1))来检查 Valid 标志。

检测非法访问:
一旦有调试器或 Hook 程序尝试访问这块内存,Windows 会触发缺页中断,并将该页面重新加载到物理内存。这时,Valid 标志就会从 0 变为 1。

触发警报:
程序检测到 Valid 标志变为 1 后,会立即弹窗并结束程序,从而实现反调试。

  
子程序名返回值类型公开备 注
TrapThread  
变量名类 型静态数组备 注
TrapAddress整数型 
PWINFOPSAPI_WORKING_SET_EX_INFORMATION 
TrapAddress = VirtualAlloc (0, 4096, 位或 ( #MEM_COMMIT, #MEM_RESERVE ), #PAGE_READWRITE )
PWINFO.VirtualAddress = TrapAddress
如果真 (EmptyWorkingSet (GetCurrentProcess ()))
判断循环首 (QueryWorkingSetEx (GetCurrentProcess (), PWINFO, 12))
如果真 (位与 (PWINFO.PSAPI_WORKING_SET_EX_BLOCK, 1) = 1)
跳出循环 ()
延时 (100)
判断循环尾 ()
信息框 (“检测到非法访问”, 0, , )
结束 ()


i支持库列表   支持库注释   
const(未知支持库)



反调试之内存非法访问.e (3.23 KB, 下载次数: 165, 售价: 2 枚 精币)

点评

很有用,感谢楼主分享   河南省新乡市  发表于 2025-8-12 14:28
感谢楼主的分享   广东省佛山市  发表于 2025-8-11 18:52
好玩!支持一下~   湖北省武汉市  发表于 2025-8-7 23:29
有些人攻击性还是太强了,没找到使用场景一顿乱喷   北京市北京市  发表于 2025-8-6 12:25
就这只怕那种专用的od你检测都检测不到,还怎么了拦截   广东省广州市  发表于 2025-8-6 00:32
思路或许可行,触发条件感人   山东省*  发表于 2025-8-5 10:11
差点让你得逞了 小丑   河南省安阳市  发表于 2025-8-5 09:49
最简单的,你发个demo,我开个帖子,让你看看R3调试器嘎嘎跑   湖北省恩施土家族苗族自治州  发表于 2025-8-5 09:44
  河南省安阳市  发表于 2025-8-5 09:38
最简单的,你放进OD里跑一下,你看看是你先断还是OD先断,笑死了   湖北省恩施土家族苗族自治州  发表于 2025-8-5 09:16
没啥好说的,你这个要求函数不再调用才能监控,函数不调用调试器断点都不会触发的。你这块内存都相当于不再使用了,也没有意义了。   湖北省恩施土家族苗族自治州  发表于 2025-8-5 09:13
楼下的 首先没求着你用 第二CRC是检测修改内存的 此技术是为了防止被非法访问 不如你来搞个新技术玩玩?   河南省安阳市  发表于 2025-8-5 09:00
有点脱裤子放屁,不如crc   湖北省恩施土家族苗族自治州  发表于 2025-8-5 08:50

评分

参与人数 33好评 +8 精币 +44 收起 理由
ganyilu + 1 + 2 虽然没啥用,但是感谢分享
475837991 + 1 感谢分享,很给力!~
ican8 + 1 感谢分享,很给力!~
天雷 + 1 + 3 此处应该有鼓励~
cbl521ysys + 1 感谢分享,很给力!~
龍貓 + 1 + 2 新技能已get√
sundanming + 1 感谢分享,很给力!~
浮梦 + 1 感谢分享,很给力!~
yushizhuo + 1 感谢分享,很给力!~
Zźh926 + 1 感谢分享,很给力!~
huangdi956 + 1 感谢分享,很给力!~
YunXiGe + 1 感谢分享,很给力!~
洛哥 + 1 感谢分享,很给力!~
jc520hll + 1 感谢分享,很给力!~
z134 + 1 感谢分享,很给力!~
ma4747 + 1 感谢分享,很给力!~
无尘666 + 1 感谢分享,很给力!~
cui870222829 + 1 感谢分享,很给力!~
3266167 + 1 感谢分享,很给力!~
huangdi9569 + 1 感谢分享,很给力!~
pj小黑屋 + 1 感谢分享,很给力!~
liy456 + 1 感谢分享,很给力!~
文西哥 + 1 感谢分享,很给力!~
booms + 1 感谢分享,很给力!~
quary + 1 + 2 新技能已get√
望尘莫及 + 1 感谢分享,很给力!~
多多帅吧 + 1 共同努力,共同进步
暮光之城 + 1 感谢分享,很给力!~
初阳123 + 1 感谢分享,很给力!~
风雨3137 + 1 感谢分享,很给力!~
遂心 + 1 + 2 感谢分享,很给力!~
笨来无一悟 + 1 + 3 功德+1
凌哥 + 1 + 5 这个玩法有意思

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (2/2)

签到天数: 14 天

 楼主| 发表于 2025-8-5 09:57:52 | 显示全部楼层   河南省安阳市
绕过方式也很简单,第三方访问前先检查Valid 标志(QueryWorkingSetEx ) 如果是0就不进行访问。
攻防无绝对,反调试配合起来使用效果才能达到最佳。可扩展性还是很强的,只是提供一个思路和简单的例子,给大家学习参考一起研究。
有些小丑连原理都没研究明白就过来指责,怪不得论坛没人分享什么有用的东西了。

点评

回归原题 仅是一个新思路 也没说顶尖 重点在于设置陷阱 看对方有没有可能踩到 踩到直接机器封禁等自己脑补   河南省安阳市  发表于 2025-8-8 05:55
确实,我随便找了个调试器,得执行四五次这段反调试,才有可能被检测到一次。这在实际应用中不太可行   山东省*  发表于 2025-8-7 10:24
不是检查不检查的问题,而是没效果,调试器随便跑   湖北省恩施土家族苗族自治州  发表于 2025-8-5 11:37
回复 支持 反对

使用道具 举报

签到天数: 3 天

发表于 2025-9-12 11:47:45 | 显示全部楼层   广西壮族自治区贵港市
感谢非常不实用
回复 支持 反对

使用道具 举报

结帖率:75% (6/8)

签到天数: 5 天

发表于 2025-9-2 03:17:29 | 显示全部楼层   河北省张家口市
很有用,感谢楼主分享
回复 支持 反对

使用道具 举报

结帖率:38% (5/13)
发表于 2025-8-31 08:53:34 | 显示全部楼层   四川省德阳市
66666666666666666666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2025-8-31 06:14:52 | 显示全部楼层   云南省红河哈尼族彝族自治州
回复 支持 反对

使用道具 举报

结帖率:96% (24/25)

签到天数: 7 天

发表于 2025-8-30 10:47:48 | 显示全部楼层   湖南省长沙市

回复 支持 反对

使用道具 举报

签到天数: 12 天

发表于 2025-8-29 18:30:03 | 显示全部楼层   广西壮族自治区梧州市
感谢非常实用
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2025-8-28 17:44:24 | 显示全部楼层   重庆市重庆市
希望对我的软件有帮助!
回复 支持 反对

使用道具 举报

结帖率:36% (8/22)

签到天数: 8 天

发表于 2025-8-28 14:34:09 | 显示全部楼层   四川省眉山市
看看,谢谢。
回复 支持 反对

使用道具 举报

结帖率:50% (3/6)

签到天数: 3 天

发表于 2025-8-27 23:23:29 | 显示全部楼层   江西省九江市
非常好的参考源码
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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