如此、罢了 发表于 2014-1-19 17:24:42

求助~~~~汇编push ax之后,栈内莫名多了很多数据。

先上图吧

这是初始状态。 1000:10的数据,都是0。然后T执行

这是T之后的样子,注意看最下面D查询的,在最后的 33 22 是AX的值,但前面莫名奇妙的多了10个字节的数据。
这是什么情况??请高手解答~~~~~~~~~~~~~

无名侠 发表于 2014-1-19 17:24:43

如此、罢了 发表于 2014-1-19 19:19 static/image/common/back.gif
我现在才学到第3章呢...问题是CS:IP的值怎么也入栈了,难道是我-A的语句有问题?

执行中断前CPU还把CS和IP分别压栈,而Debug调试的时候你用的是单步调试,每执行一步就有一个断点中断,为了方便返回到源程序,也只有这么做呢,
中断程序执行完后,就:
pop ip
pop CS
当然,在中断中是用 ret或者retf 返回!

如此、罢了 发表于 2014-1-19 17:36:48

我去年买了个表。。。。一不小心点了已标记解决

文行知 发表于 2014-1-19 18:38:24

你仔细看就会知道有两个数据正好跟cs,ip是一样的,根据第12章单步中断的知识,那些应该是标志寄存器,cs,ip

如此、罢了 发表于 2014-1-19 19:19:35

文行知 发表于 2014-1-19 18:38 static/image/common/back.gif
你仔细看就会知道有两个数据正好跟cs,ip是一样的,根据第12章单步中断的知识,那些应该是标志寄存器,cs, ...

我现在才学到第3章呢...问题是CS:IP的值怎么也入栈了,难道是我-A的语句有问题?

文行知 发表于 2014-1-19 20:08:38

建议你看一下十二章单步中断的介绍

网络学习 发表于 2014-1-20 00:36:19

汇编逆向与WG

bubu 发表于 2014-2-14 14:04:27

我来学习一下,还没看到这里呢
页: [1]
查看完整版本: 求助~~~~汇编push ax之后,栈内莫名多了很多数据。