能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我猜测可能是DEP的问题. X64DBG的"暂停"方式不是调用DebugBreak API,而是手动挂起主线程,然后在主线程当前的CIP下面写入INT指令, 再恢复主线程运行,然后触发异常暂停. 这个方式我一早就觉得它是脑残了,因为一旦主线程处于WAIT状态的话,它就一直不会去踩这个INT陷阱. X64DBG各种灵异问题,见得多就不见怪了,这个东西不自己调整根本不能用. 有个5年的老BUG一直无法解决的,就是多线程并发触发断点的问题,程序必崩, 当年我就教他作者如何修复这个BUG,他作者不接受我的做法,结果一直保留到现在. 至于其它小BUG和问题,我发现的都有几十个,调整过的过百个.....
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
flarejune
我猜测可能是DEP的问题.
X64DBG的"暂停"方式不是调用DebugBreak API,而是手动挂起主线程,然后在主线程当前的CIP下面写入INT指令,
再恢复主线程运行, ...
你讲的可能是对的,我看了下x64dbg下断点的地址刚还在waitforsingleobject调用的syscall返回地址处,导致断不下来.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
666
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
flarejune
我猜测可能是DEP的问题.
X64DBG的"暂停"方式不是调用DebugBreak API,而是手动挂起主线程,然后在主线程当前的CIP下面写入INT指令,
再恢复主线程运行, ...
哥,那个多线程BUG是什么问题?我发现删除断点后,总有一些线程的DR0-DR3还是有值的。
|
|
|