MatthewAsync 发表于 2025-8-6 10:37:40

程序利用内存工作集检测非法访问来实现OD或CE反调试源码分享

实现原理:创建一个特定的“陷阱”内存页,然后将其从进程的**工作集(Working Set)**中清除。

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

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

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

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

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











**** Hidden Message *****

pei002 发表于 2025-8-6 18:09:10

这个资源我一直想要

360403967 发表于 2025-8-7 01:40:40

人设人阿松大

qq1354596367 发表于 2025-8-7 09:12:09

这就是传说中的好资源吗?赶紧看看去!

Hacker 发表于 2025-8-7 16:43:39

谢谢楼主的辛苦分享

哦美国 发表于 2025-8-8 00:15:08

感谢您的无私精神...

sdajhdjannda 发表于 2025-8-8 04:31:54

9999999999999999

wfagf 发表于 2025-8-8 08:48:40

还是看不懂,复杂

476572199 发表于 2025-8-8 13:05:25

这个好好支持一下

yu1616 发表于 2025-8-8 17:22:11

顶起很好的帖
页: [1] 2 3 4 5 6
查看完整版本: 程序利用内存工作集检测非法访问来实现OD或CE反调试源码分享