能力值:
( LV3,RANK:20 )
|
-
-
2 楼
建议看看DR7寄存器怎么设置的
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
逆向爱好者
建议看看DR7寄存器怎么设置的
额 不是很懂大佬的意思。L0-3对应这DR0-3,DR7中的0x1=0001,不就可以激活DR7的断点吗。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
OD里面他是可以断下
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
https://en.wikipedia.org/wiki/X86_debug_register#DR7_-_Debug_control ,具体好的看这里面理解DR7的结构,再去看这帖子的源码就懂了
https://bbs.kanxue.com/thread-271124.htm
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
lononan
https://en.wikipedia.org/wiki/X86_debug_register#DR7_-_Debug_control ,具体好的看这里面理解DR7的结构,再去看这帖子的源码就懂 ...
哎,知道原因了。不是大佬说的这个问题,因为刚刚入门,具体原因我也不太了解。您给我的这个链接,跟我看软件调试里面说的大差不大,我也是遵循那个去测试,但是就没解决不了。后来我找了下别人的代码,他将线程ID传入,然后OpenThread,把线程挂起在恢复,就可以成功写入硬件断点。如果大佬能讲解下为什么WIN7不用挂起线程就可以成功,而win10却要挂起才能成功的疑问的话,也非常感激不尽。
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
梦逐
哎,知道原因了。不是大佬说的这个问题,因为刚刚入门,具体原因我也不太了解。您给我的这个链接,跟我看软件调试里面说的大差不大,我也是遵循那个去测试,但是就没解决不了。后来我找了下别人的代码,他将线程ID ...
不暂停可能线程访问冲突造成设置失败或者程序崩溃,出于安全考虑都要暂停一下线程;这跟HOOK代码段在原函数写JMP时要停止进程所有线程一个道理,内核的话要改代码段一般要上锁
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
逆向爱好者
不暂停可能线程访问冲突造成设置失败或者程序崩溃,出于安全考虑都要暂停一下线程;这跟HOOK代码段在原函数写JMP时要停止进程所有线程一个道理,内核的话要改代码段一般要上锁
谢谢大佬。
|
|
|