实验8 分析一个奇怪的程序
生活随笔
收集整理的這篇文章主要介紹了
实验8 分析一个奇怪的程序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
仔細(xì)閱讀9.3節(jié)依據(jù)位移進(jìn)行轉(zhuǎn)移的jmp指令,然后理解下面的這個很奇怪的程序就容易多了,當(dāng)然要看著機器碼去分析。
assume cs:codesgcodesg segmentmov ax, 4c00hint 21hstart: mov ax, 0 s: nopnopmov di, offset smov si, offset s2mov ax, cs:[si]mov cs:[di], axs0: jmp short ss1: mov ax, 0int 21hmov ax, 0s2: jmp short s1nopcodesg ends end start為便于分析代碼,下面列出其機器碼:
分析:
0A-14行:把s2一行的機器碼復(fù)制到s處;
16行:ip跳到8,此時機器碼是:EBF6,F6就是-0Ah,也就是十進(jìn)制的-10,也就是說要執(zhí)行此行代碼,ip要向前移動10個位置,此時ip是A,所以跳到第一行代碼上,因此本段代碼能夠順利返回。
總結(jié)
以上是生活随笔為你收集整理的实验8 分析一个奇怪的程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第5章 Python 数字图像处理(DI
- 下一篇: 第5章 Python 数字图像处理(DI