高手们,帮我看一个程序,谢谢了。
本帖最后由 Sing 于 2012-3-2 20:44 编辑请大家帮我看看下面的程序那两个(?)号处应该怎么填。因本人是新手,所以还请大家解释得尽量详细点。谢谢各位了。
补全程序,使jmp指令执行后,CS:IP指向程序的第一条指令。
assume cs:code
data segment
dd 123456789H
data ends
code segment
start:mov ax, data
mov da, ax
mov bx, 0
mov , (?)
mov , (?)
jmp dword ptr ds:
code ends
end start
Sing 发表于 2012-3-2 20:37 static/image/common/back.gif
亲,我也想给你好评啊,可是那个解决的标号我怎么弄,还有怎样给好评的啊。那一个鱼币又是怎样给你的啊?
点编辑拉 !~给标题改成已经解决
悬赏的在你主题那篇右下角!~有个选择最佳选项吧!~
以后提问都要有始有终喔 即使没人回答一段时间后也要给标题改成 讨论或者在自己学会明白了以后改成以解决!~这样版主不会太忙太累的去整理!~ 本帖最后由 莫名其妙 于 2012-3-2 15:20 编辑
看了半天觉得眼熟 翻翻书发现你写的是 检测的点的内容,,,, dd 的数据是12345678h
首先程序代码段开始的地方 是 cs:ip → cs:0000
但是程序的第一条指令不一定就是在cs:0000 这点一定要明白!~
(当然你会见到这样的例题 比如 mov ax,4c00hint 21h在代码段开始的地方 在程序执行的第一条指令之前)
start:mov ax, data ; 这道题里 start : 的地方就是程序的第一条指令
mov ds, ax
;0B86:000078 56 34 12 00 00 00 00-00 00 00 00 00 00 00 00这进行 data 数据进段后 内存单元中数据的存放(当然你机器上的段地址 和代码段地址数据可能跟我不一样)
mov bx, 0
;AX=0B86BX=0000CX=0026DX=0000SP=0000BP=0000SI=0000DI=0000
;DS=0B86ES=0B76SS=0B86 CS=0B87IP=000A NV UP EI PL NZ NA PO NC 这是BX等于0以后 各寄存器和个段地址的数据
( ip )
mov , (BX) ; 因为题目要求跳转后转到代码段开始的地方意思就是跳转到 CS : 0000 处 所以ds:,bx 要等于0
;0B86:000000 00 34 12 00 00 00 00-00 00 00 00 00 00 00 00 这是执行 bx=0后内存中数据的存放
mov , ( CS )
;0B86:000000 00 87 0B 00 00 00 00-00 00 00 00 00 00 00 00看内存数据的存放, 注意 87 0B 就是当前CS段地址的值
jmp dword ptr ds:
dword ptr ds:这里是从ds段 0号偏移地址开始的 取两个字形数据
jmp dword ptr ds:这句话的意思是 取两个字形数据 低字做IP高字做CS 然后跳转过去在书本p182页9.6节写的还是比较清楚的
莫名其妙 发表于 2012-3-2 14:19 static/image/common/back.gif
看了半天觉得眼熟 翻翻书发现你写的是 检测的点的内容,,,, dd 的数据是12345678h
首先程序代码段开始 ...
嗯嗯。整个过程我是明白了,先谢谢你。不过还有一点不明白的是,在0B86:00 0000 00 87 0B 0000 00 00-00 00 00 00 00 00 00 00 这个内存数据中,为什么存放着 87 0B 这数据而不是别的?还有一点就是,我该如何分辨程序的第一条指令是不是在CS:0000呢? 本帖最后由 莫名其妙 于 2012-3-2 20:32 编辑
Sing 发表于 2012-3-2 20:28 http://bbs.fishc.com/static/image/common/back.gif
嗯嗯。整个过程我是明白了,先谢谢你。不过还有一点不明白的是,在0B86:00 0000 00 87 0B 0000 00 0 ...
这个 87 0b是我机器上的代码段地址啊
你看我上面标记红色的那个CS
因为jmp dword ptr 加内存数据是调取的 低位IP 高位 cs 我机器上的ds是0b86 cs 是0b87 所以才会有0b87
莫名其妙 发表于 2012-3-2 20:29 static/image/common/back.gif
这个 87 0b是我机器上的代码段地址啊
你看我上面标记红色的那个CS
嗯嗯。谢谢你的帮助哦。 Sing 发表于 2012-3-2 20:32 static/image/common/back.gif
嗯嗯。谢谢你的帮助哦。
亲 给好评喔!~
搞定了要给标题改成以解决喔!~ 莫名其妙 发表于 2012-3-2 20:34 static/image/common/back.gif
亲 给好评喔!~
搞定了要给标题改成以解决喔!~
亲,我也想给你好评啊,可是那个解决的标号我怎么弄,还有怎样给好评的啊。那一个鱼币又是怎样给你的啊? 学习来了,围观~ pop ip pop cs 学习来了,围观~
页:
[1]