首页
社区
课程
招聘
Win11关于DR请教大佬
发表于: 2023-4-15 16:46 5798

Win11关于DR请教大佬

2023-4-15 16:46
5798

我在Win11下,尝试将DR7设置为1,随后发现一个问题,在Win11下并无法启动断点断下,在Win7下可以断下,但并不会自动清除掉DR7跟DR0。我在Win11尝试用OD去设置硬件断点,却发现OD的可以断下,实在不了解是什么原因,还望大佬不吝赐教。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 1561
活跃值: (4608)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
建议看看DR7寄存器怎么设置的
2023-4-15 17:12
0
雪    币: 25
活跃值: (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
逆向爱好者 建议看看DR7寄存器怎么设置的
额 不是很懂大佬的意思。L0-3对应这DR0-3,DR7中的0x1=0001,不就可以激活DR7的断点吗。
2023-4-15 17:17
0
雪    币: 25
活跃值: (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

OD里面他是可以断下

2023-4-15 17:19
0
雪    币: 7560
活跃值: (5402)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5

https://en.wikipedia.org/wiki/X86_debug_register#DR7_-_Debug_control ,具体好的看这里面理解DR7的结构,再去看这帖子的源码就懂了

https://bbs.kanxue.com/thread-271124.htm
2023-4-15 17:50
0
雪    币: 25
活跃值: (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
lononan https://en.wikipedia.org/wiki/X86_debug_register#DR7_-_Debug_control ,具体好的看这里面理解DR7的结构,再去看这帖子的源码就懂 ...
哎,知道原因了。不是大佬说的这个问题,因为刚刚入门,具体原因我也不太了解。您给我的这个链接,跟我看软件调试里面说的大差不大,我也是遵循那个去测试,但是就没解决不了。后来我找了下别人的代码,他将线程ID传入,然后OpenThread,把线程挂起在恢复,就可以成功写入硬件断点。如果大佬能讲解下为什么WIN7不用挂起线程就可以成功,而win10却要挂起才能成功的疑问的话,也非常感激不尽。
2023-4-15 19:47
0
雪    币: 1561
活跃值: (4608)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
梦逐 哎,知道原因了。不是大佬说的这个问题,因为刚刚入门,具体原因我也不太了解。您给我的这个链接,跟我看软件调试里面说的大差不大,我也是遵循那个去测试,但是就没解决不了。后来我找了下别人的代码,他将线程ID ...
不暂停可能线程访问冲突造成设置失败或者程序崩溃,出于安全考虑都要暂停一下线程;这跟HOOK代码段在原函数写JMP时要停止进程所有线程一个道理,内核的话要改代码段一般要上锁
2023-4-15 19:56
0
雪    币: 25
活跃值: (198)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
逆向爱好者 不暂停可能线程访问冲突造成设置失败或者程序崩溃,出于安全考虑都要暂停一下线程;这跟HOOK代码段在原函数写JMP时要停止进程所有线程一个道理,内核的话要改代码段一般要上锁
谢谢大佬。
2023-4-15 20:04
0
游客
登录 | 注册 方可回帖
返回
//