中断和程序跳转是什么关系?

中断和程序跳转是什么关系?,第1张

先进行中断,然后进行程序跳搏正转.

既当发生中断时,程序会有一个中断点,会保存当前的入口地址,然后跳转到你所提供的(或默认的)程序入口,执行所跳转到的代码.当执行完该段代码拍带后,跳出该段地址,恢复原来的入口地址,继续执行原来袭银芦的代码.

单步跟踪法

1.用OD载入,点"不分析代码!"

2.单步向下跟踪F8,实现向下的跳。如态指也就是说向上的跳不让其实现!(通过F4)

3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点-->运行到所选)

4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现!

5.如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,不然程序很容易跑飞,这样很快就能到程序的OEP

6.在跟踪的时候,如果运行到某个CALL程序就运行的,就在这个CALL中F7进入

7.一般有很大的跳转(渣配大跨段),比如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN的一般很快就会到程序的OEP。

每遇到红线的跳转,就在跳转语句的下一句增加断点

这里闭握应该是说在下面设置断点吧~

不明白没有关系多看慢慢理解

跳下面如果是nop可以在下一句F4

因为nop是无效句

所以在nop里面F4没有意义

跳分向上或者向下

向上的跳才在下面F4跳过

向下就不用咯~

因为程序是从上向下执行的~

如果他向上跳最执行下来

不设置断点跳过他

你猴年马月都到不了OEP

跳转指令就是程序跳转到标记位置继续执行,被跳过的部分滑洞不执行

调用子程序就是从当前跳到子程序段,执行完晌世后返回继续执行CALL的下一条程序

中断指令和执行子程序过程类似,都是跳转、执行、返回断点继续执行,但它可能在程序的任何地方执行(由外部条件触发),而子程序调用是程信谨枯序运行到特定位置时才执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12389092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存