鱼C论坛

 找回密码
 立即注册
查看: 1734|回复: 0

检测点3.2问题再次奉上图片可见

[复制链接]
发表于 2012-10-13 09:12:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大大们你们好,麻烦老师们帮我解决下一个问题,关于第三章3.2的检测点问题,请问下,我先告诉下我的操作步骤吧,我首先是在debug里给内存修改数据的,用E命令修改了10000----1000F这段的数据,这道题用不到CS段,我先附上debug截图吧

                               
登录/注册后可看大图

这里的ds=17b9,不管它,代码执行是cs=17b9   IP=0100,在这里我试了好几次,我把IP都改成0过,还是一样错误,
现在下面我看是编写汇编指令

                               
登录/注册后可看大图

17B9:0105是指令开始执行的地方,跟CS和IP一样,可以用U来看下反汇编的指令,可是在这段汇编中
只给了DS,而没有给数据段一个adreess地址【偏移地址】,已经定义了栈段【20000---20010】,这里为什么是20010,
因为给内存规划了一个栈段【空栈】,大家应该知道sp-2,小甲鱼老师说过的,
在这里我用T命令来运行指令下图:

                               
登录/注册后可看大图

直到指令执行完毕,,我晕,debug窗口直接跳掉了,无语,再来,

                               
登录/注册后可看大图

再执行又给OUT出去了,无语,对系统有害了,再继续,又跳了,天啊,难道要改下cs跟IP地址吗,,
哎,还是请老师看看吧,我执行所有指令后,用D命令查找了20000:0的内存单元数据,里面没有数据全部为0,
说明数据没有push进去,,这里我就不明白了,这里的为什么只给DS段地址,而没有偏移地址,这么让cpu知道要入栈的这个数据段的数据呢,请老师们指点迷津啊,我试了N次了,都没有实现,只好请老师们受教。谢谢。
这个书本的题目看图

                               
登录/注册后可看大图


补充内容 (2012-10-13 09:15):
不好意思第一张图片在最下面

补充内容 (2012-10-13 10:14):
不好意思,我无意中想起了这个问题,已经给DS一个偏移地址了,就是push 【0】,这里说明的将数据段DS=1000 偏移地址=0000的内存单元数据推入栈中,这道题我通了 可为什么不实现,用D命令找2000:10没有栈数据,why?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 14:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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