首页
社区
课程
招聘
[求助]OD如何捕获被程序处理的异常
发表于: 2013-6-22 23:46 6209

[求助]OD如何捕获被程序处理的异常

2013-6-22 23:46
6209
有时候程序出现异常,用od调试捕获不到,直接“已终止”了
在vc里面有这种设置,可以捕获所有异常,od有没有呢?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 1839
活跃值: (295)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
2
上传的附件:
2013-6-23 00:15
0
雪    币: 148
活跃值: (59)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=fosom;1191181][/QUOTE]

这里全部勾去掉也没用
比如下面这个代码
程序捕获了异常,然后return了,OD调试的时候就捕获不到
但是vc可以按照1楼的设置方法把相应异常设置为stop always就可以断下

(工程->设置->c++  下面要加上/EHa启用异常捕获)
#include <windows.h>
#include <stdio.h>

int WINAPI WinMain( IN HINSTANCE hInstance, IN HINSTANCE hPrevInstance, IN LPSTR lpCmdLine, IN int nShowCmd )
{
	try{
		char* a=NULL;
		a[4097]='0';
	}
	catch(...)
	{
		return 0;
	}

	MessageBox(NULL,"","",MB_OK);

	return 0;
}
2013-6-23 01:32
0
雪    币: 148
活跃值: (59)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
肯定有人用这个做过反调试吧,大婶们不都是夜间活动吗 ,给传授下姿势呗
2013-6-23 01:48
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
把那些能隐藏od的插件去掉 SOD之类的东东,然后去掉勾勾
2013-6-23 02:15
0
雪    币: 135
活跃值: (63)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
不会吧,这个a[4097]应该会有内存访问异常吧,是不是你的od有sod插件并选择了skip some exceptions。sod的选项优先于od的异常设置吧。
2013-6-23 08:58
0
雪    币: 148
活跃值: (59)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
谢谢楼上两位,解决
2013-6-23 09:52
0
游客
登录 | 注册 方可回帖
返回
//