首页
社区
课程
招聘
WinXp不通过IDT表找到系统中断服务表吗?
发表于: 2007-4-8 21:55 7621

WinXp不通过IDT表找到系统中断服务表吗?

2007-4-8 21:55
7621
WinXp不通过IDT表找到系统中断服务表吗? 还是IDT的第 0x2e项不对应系统服务中断了

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (10)
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己Up下 期望大侠 答复
2007-4-9 16:56
0
雪    币: 235
活跃值: (29)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
winxp下已改为:

SYSENTER,一种fast call,具体可参阅<<windows internels>>
2007-4-9 17:21
0
雪    币: 235
活跃值: (29)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
4
随便讲讲它的hook方法。

      rdmsr   // 读IA32_SYSENTER_EIP寄存器中的值

      mov OldKiFastCallEntry, eax  //将eax中返回的原始调用地址防到OldFastCallEntry储存,以便将来返回

      mov eax, MyKiFastCallEntry     // 将我们的Hook function 地址移入
      wrmsr      // 将eax中的值写入IA32_SYSENTER_EIP寄存器,此时,hook成功,转而执行我们的函数调用

   }
2007-4-9 17:39
0
雪    币: 258
活跃值: (230)
能力值: ( LV12,RANK:770 )
在线值:
发帖
回帖
粉丝
5
0x2E在IDT表2E处ring3级的中断门...
xp同时支持int 2E和sysenter两种陷阱方式进入系统服务分发层.
2007-4-9 17:57
0
雪    币: 235
活跃值: (29)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
6
确定吗?

int 2e 和 sysenter都是系统用来陷入,从ring3进入ring0,异曲同工罢了

xp默认是执行sysenter指令进入系统服务分发层,如果int 2e也执行,到底是哪个呢,难道手工启动?
2007-4-9 18:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我也不太懂,还在学习!
2007-4-10 20:56
0
雪    币: 223
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
U Can Do it By Yourself
2007-4-10 22:28
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
已看到你的大作 <<【原创】必备绝技——hook大法( 中 ) >>,多谢你付出的辛勤劳动!
2007-4-10 23:36
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
受教了,谢谢!
2007-4-10 23:38
0
雪    币: 235
活跃值: (29)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
11
不用跟了,这个问题最早wowocock大侠都指出来了。系统由sysenter进入ring0后,只是call了int 2e的处理程序,int 2e指令根本没有执行,所以直接在idt中hook int 2e 是肯定不行的。
2007-4-11 00:05
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册