吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 919|回复: 0
收起左侧

[求助] 反调试,VMP让调试软件无法下断点的原理是什么?

[复制链接]
pentiums 发表于 2023-7-19 22:28
最近在学习一个游戏辅助软件,查壳为:VMProtect(3.2.0-3.5.0)[-]。

用Detect It Easy3.07查壳

用Detect It Easy3.07查壳

在OD中使用ScyllaHide插件可以正常附加(Attach)游戏,辅助软件也能正常运行。

ScyllaHide插件针对VMP的设置

ScyllaHide插件针对VMP的设置

通过MSSpyXX找到按钮“点击开始认证”的WndProc地址,并在WM_LBUTTONDOWN能到达的地方下F2断点,
随后单击该按钮后,OD没有断下来,出现了一个错误提示框,0x80000003正好是int3异常代码。如果下硬件
执行断点,也断不下来,提示错误代码变为0x80000004,正好是硬件断点异常代码。
顺序图.jpg
请教各位大佬,让硬件断点(DRx)、软件断点(int3)都失效的原理是什么?
      开始以为是设置了seh或veh。但是仔细想想,断点异常发生后,调试软件的优先级是最高的,意味着
OD肯定比辅助软件先收到异常消息,这样就能正常断下来。
      后来又想到,有监控线程实时检查DRx是否被修改,并及时抹除修改,以便阻止硬件断点。但这个没有
办法抹除软件断点(int3)。并且,辅助软件执行到断点处才提示异常信息框,说明DRx或int3没有被抹除。
      实在想不通,请各位大佬指点指点,万分感谢!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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