-
-
[求助]硬断 代码的问题!
-
发表于:
2016-11-13 00:36
5386
-
遇到CALL步过不进, 其他均单步走 。
//反汇编解析
DWORD dwCodeSize = Disasm((HWND)-1, ExceptionInfo->ExceptionRecord->ExceptionAddress, &szDisasm, &szDisasmAll);
if (szSub == "call") //如果是CALL 步过
{
dwAddr = (DWORD)ExceptionInfo->ExceptionRecord->ExceptionAddress + dwCodeSize;
ExceptionInfo->ContextRecord->Dr0 = dwAddr;
ExceptionInfo->ContextRecord->Dr7 = 0x405;
}
else
{
ExceptionInfo->ContextRecord->Dr7 &= 0xFFFFFFFC;
ExceptionInfo->ContextRecord->EFlags |= 0x100;
}
没循环的基本没事 都可以正常跑;
int a=0;
for(int i=0;i<100000000;i++)
{
a=i;
}
像这样的循环原始代码消耗0秒;用硬件断走 需要几十分钟 有什么办法吗?
[注意]看雪招聘,专注安全领域的专业人才平台!