王爽汇编——实验八

本文探讨了一段程序中关于IP(指令指针)的操作技巧。通过分析EBF6指令,揭示了其实际效果是使IP倒退10位,导致程序终止。程序设计中利用jmpshort指令对IP的非直觉性操作,使得控制流程产生微妙变化,以此实现特定的执行路径。
摘要由CSDN通过智能技术生成

可以把程序编译好之后查看一下先

直接运行到jmp short s之前

再看一下整体的指令,发现这时候s段的第一句的机械指令是EBF6

就是IP = IP -10

从这一局指令后的第一条指令的IP往前推十位,正好就是

所以程序结束。

这一题的小trick就是这里

s2的第一句其实就是让IP = IP -10,这样就到了s1。

而s的一番操作就是把s2的第一条搬到了s的第一条,然后s0就跳回来执行s的第一条,这一条明面上看是跳到s1,但是要注意jmp short 标号   这种指令实质上是对IP进行操作,并不是明面上看着的那样。所以,其实就是往前推10位,正好就是结束程序的指令

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值