首页
社区
课程
招聘
怎样解决int03的反跟踪?
发表于: 2004-8-30 19:17 4739

怎样解决int03的反跟踪?

2004-8-30 19:17
4739
最近在调试一个程序的时候碰上这个钉子了
以前听说过int03可以反跟踪,但不知道实现原理
大哥们谁可以指点一下啊?
还有,如何避开这个呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (7)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
怎么没有回答啊?是我问得太简单了吗?
2004-8-31 12:56
0
雪    币: 13095
活跃值: (4092)
能力值: ( LV15,RANK:1673 )
在线值:
发帖
回帖
粉丝
3
seh,异常处理程序
2004-8-31 15:51
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
可以说的再详细一点吗?或者,有什么对应的资料吗?
2004-8-31 17:53
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
5
大致思路是这样,设好SEH,在平常情况下INT 3会引发异常转到处理程序中执行,而有调试器存在时不会引发异常而继续执行,这样就可以检测到
2004-8-31 18:32
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢,我刚刚找到了一点关于SEH的资料,有点明白了,这是我的摘要:
------------

seh (Struct Exception Handling)
seh 的大致结构如下:
typedef
{
    DWORD dwNextSEHAddr;    // 下一个 SEH 结构地址
    DWORD dwHandlerAddr;    // 异常处理函数入口
}SEH;

一个 SEH 并不是孤立的,而是一个链表结构。
一个异常最终会传递给系统。这个链表的首部位于 fs:[0] 这个位置。

-------------
我在跟踪我说的这个程序的时候就见到fs:[0],在很多AntiDebug的资料中也经常见到fs:[0],原来是这个意思啊,谢谢上楼的大哥!!!!

不过,怎么Anti这个AntiDebug技术呢?
2004-8-31 18:52
0
雪    币: 258
活跃值: (230)
能力值: ( LV12,RANK:770 )
在线值:
发帖
回帖
粉丝
7
seh (Struct Exception Handling)
找到context结构
修改context IP 入口数值・・・
2004-9-1 14:27
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
哦,谢谢大哥!
2004-9-1 15:02
0
游客
登录 | 注册 方可回帖
返回
//