首页
社区
课程
招聘
硬件断点怎么单步执行.
发表于: 2014-6-16 17:45 3434

硬件断点怎么单步执行.

2014-6-16 17:45
3434
设置了个VEH的异常处理执行断点

LONG WINAPI Exception(PEXCEPTION_POINTERS ExceptionInfo)
{
    if(ExceptionInfo->ExceptionRecord->ExceptionCode == EXCEPTION_SINGLE_STEP)
        {
        if((DWORD)ExceptionInfo->ExceptionRecord->ExceptionAddress == Dr0)
                {
       
                   // ExceptionInfo->ContextRecord->EFlags = 0x1;
                    ExceptionInfo->ContextRecord->Eip += 0x4;
                        return EXCEPTION_CONTINUE_EXECUTION;
        }
    }
    return EXCEPTION_CONTINUE_SEARCH;
}

我不知道为什么,就是这么简单设置下EIP经常进程就报错了.该怎么解决呢?  //第一个问题
我就想单步一下,然后不设置EIP直接返回,这样可能会好点,怎么设置单步一次呢?  //第二个问题

对于第一个问题,我用OD看了下,EIP和堆栈都和我自己写的一模一样,但是为什么会报错呢?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 7068
活跃值: (3517)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
2
。。。你觉得每条指令都是4字节长度吗,而且标志寄存器也不应该直接赋值。
单步异常应该:PCONTEXT->EFlags |= 0x0100
2014-6-16 22:42
0
雪    币: 169
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
可以了,看了下资料发现是二进制位控制的,原来以为是数值
2014-6-18 16:40
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
lz可以把kx给我么。。。
2014-6-25 18:36
0
游客
登录 | 注册 方可回帖
返回
//