注册

CpuDbg x96

查看: 2903|回复: 0
收起左侧

[CpuDbg x96] 当OEP为0时遇到了一个跳不过去的诡异异常

[复制链接]
发表于 2022-3-18 00:01:22 | 显示全部楼层 |阅读模式
目标程序是这篇贴子我构造的OEP为0的DEMO. 链接:http://bbs.ollydbg.com/forum.php?mod=viewthread&tid=12&extra=page%3D1

加载目标程序, 没有任何事件到达, 直接就是 0xC0000005 异常.
一开始以为是64位调试的问题, 换成 32位的也同样有这种异常.

x64异常地址是: 0x00007ff8_01685716
x32异常地址是: 0x01685716
2022-03-18 08:03:28:0057  地址: [C:\Windows\SysWOW64\ntdll.dll]
2022-03-18 08:03:33:0803  异常第1次来: 01685716  线程ID:0001f630

然后试了其它几个调试器, 其中od1.x   od2.x   x64dbg 等调试都没有问题,可以正常运行.
mdebug  yzdbg  qtNanomite  等调试器, 会抛出同样的异常..

原因还不清楚, 改天空了,再继续研究.
有知道原因的,可以跟帖说明.
----------------------------------
2022.03.19
刚刚分析了一下, 原来是因为调试器启动的时候,默认会在OEP处下个0xCC断点. 由于OEP为0 那就相当于是在 基地址写入了CC,
也是就是把Magic标志的 'M' 0x4D 修改成 0xCC.可能是系统找不到magic了, 所以抛一个这样诡异的异常. 具体的,等空了再研究.
to be continued..
----------------------------------













回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注册

QQ|Archiver|手机版| CpuDbg x96

GMT, 2024-12-22 05:09 , Processed in 0.062500 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表