首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
付费问答
发新帖
0
0
[旧帖]
2个奇怪的问题
0.00雪花
发表于: 2010-11-10 21:01
3769
[旧帖]
2个奇怪的问题
0.00雪花
jinyuelong
2010-11-10 21:01
3769
最近学到了中断和异常处理,很多疑惑,下面2个问题尤其让我晕:
在讲到异常中的陷阱的时候,书上说:当控制转移到异常处理程序的时候,所保存的断点CS及EIP的值指向引起陷阱的指令的下一条要执行的指令。下一条要执行的指令,不一定就是下一条指令。因此,陷阱处理程序并不总是能根据保存的断点,反推出产生异常的指令。其中:下一条要执行的指令,不一定就是下一条指令,我不太明白,能举个例子吗?
在列举故障类异常:段不存在故障的时候,书上说:在进入故障处理程序时,保存的CS及EIP指向发生故障的指令;或者该故障作为任务切换的一部分发生时,指向任务的第一条指令。对于:作为任务切换的一部分发生时,指向任务的第一条指令,我也想不太明白,能举个例子吗?
谢谢!!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
4
)
水晶蜗牛
雪 币:
221
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
6
回帖
255
粉丝
0
关注
私信
水晶蜗牛
2
楼
jmp xxx
int 3
2010-11-10 21:39
0
jinyuelong
雪 币:
179
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
10
回帖
25
粉丝
0
关注
私信
jinyuelong
3
楼
蜗牛兄,你的2句指令,我分析了下,还是不太理解,能否明示?
1。在陷阱发生的时候,转入陷阱处理程序,然后返回,但并不返回到产生陷阱异常的那句指令的下一句指令。我还是想不到对应的情形,不管是 jmp xxx 还是 int 3。
2。第二种情景我的理解是:在任务切换过程中,如果发生段不存在故障,那么会把段载入内存使之存在,并且在其他验证都正确的情况下,直接转向新任务的第一条指令,而不必重新执行那句引起故障的指令,这样理解是否正确?(难道是为了效率考虑?)
谢谢!
2010-11-11 10:26
0
cnfixit
雪 币:
109
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
90
粉丝
0
关注
私信
cnfixit
4
楼
对于第一个问题,我的理解是:
0x0001 some operation
0x0002 int 3
0x0003 other operation
.....
0x1000 far operation
所保存的断点CS及EIP的值指向引起陷阱的指令的下一条要执行的指令。就是下一条指令的情况:
中断时保存的tip
eip = 0x0003
下一条要执行的指令,不一定就是下一条指令的情况:
eip = 0x1000
我是这样理解的,不知道对不对,至于为什么会这样,不知道
2010-11-11 10:57
0
jinyuelong
雪 币:
179
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
10
回帖
25
粉丝
0
关注
私信
jinyuelong
5
楼
哈哈,情形却是是这样,关键在于为什么以及在哪种情况下会有这种情形的发生
2010-11-11 12:03
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
jinyuelong
10
发帖
25
回帖
10
RANK
关注
私信
他的文章
TSS异常的疑惑:
3575
页机制的一点疑惑
4297
重头再来之新疑惑(一)
3699
分页机制的疑惑
4395
2个奇怪的问题
3770
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部