社区
汇编语言
帖子详情
E9 跳转指令的用法?
cs100504
2010-05-19 08:00:56
E9 跳转指令的用法?
比如:从 0x11223344 E9 AABBCCDD 跳到目标 0xEEDDCCBB
AABBCCDD 怎么计算?
谢谢。
...全文
636
6
打赏
收藏
E9 跳转指令的用法?
E9 跳转指令的用法? 比如:从 0x11223344 E9 AABBCCDD 跳到目标 0xEEDDCCBB AABBCCDD 怎么计算? 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cs100504
2010-05-19
打赏
举报
回复
[Quote=引用 4 楼 redher 的回复:]
跳转指令用的都是偏移地址.
不然,程序如果加载的位置变了. 就不能正确跳转了 .
建议搂住还是从基础开始.
[/Quote]
EA
44332211
08000000
绝对跳转 to 0x11223344
dididu1515
2010-05-19
打赏
举报
回复
你这是32位汇编,000000x的值转换成汇编编码的规律:
jmp 0002H
IP1=004ED879H
IP2=00000002H
IP2-(IP1+本句指令字节数)=2-(4ED879H+5)=0FFB12784H
Jmp 0040H
IP1=004ED879H
IP2=40H
IP2-(IP1+本句指令)=40-(4ED879H+5)=FFB127C2H
汇编里的数次序要反过来:
E9 C227B1FF
以上只是远跳转,近跳转"本句指令字节数"会缩短。
参考: 汇编中的JMP后面的值也就是E9 XXXX怎样计算的_百度知道
http://zhidao.baidu.com/question/105950930.html?fr=qrl&cid=865&index=5
redher
2010-05-19
打赏
举报
回复
跳转指令用的都是偏移地址.
不然,程序如果加载的位置变了. 就不能正确跳转了 .
建议搂住还是从基础开始.
cklx0401
2010-05-19
打赏
举报
回复
你直接用机器码~?不是在搞反汇编破解吧。
zara
2010-05-19
打赏
举报
回复
看指令的说明啊。AABBCCDD 就是地址偏移,是目标地址和该调用指令下一条指令(即 JMP 指令正常返回的地址)间的差。
“0x11223344 E9 AABBCCDD”,该指令为 5 字节,则下一条指令的地址就是 0x11223349了。所以,偏移 AABBCCDD = 0xEEDDCCBB - 0x11223349
pandazhong
2010-05-19
打赏
举报
回复
只知道JMP,不知道E9也能跳转,接分。
抗艾程序员龚伦强:JMP
指令
与
E9
跳转
地址计算
本文详细介绍了汇编语言中的jmp
指令
和
E9
指令
,包括它们的格式、作用以及在程序控制流程中的应用。特别强调了无条件
跳转
的潜在风险和使用时的注意事项,以及如何计算
跳转
地址以实现不同类型的
跳转
。
E8/
E9
/FF 15/FF25
指令
--汇编学习笔记
本文是关于汇编语言中E8/FF 15/FF25
指令
的学习笔记。E8
指令
用于call,其后跟的偏移地址加上5字节计算目标地址;FF 15直接跟绝对地址调用函数,如MessageBoxW。
E9
指令
同E8计算方法,用于jmp
跳转
,而FF 25
指令
同样使用绝对地址进行
跳转
。
汇编
指令
CALL的硬编码E8 和 JMP 的硬编码
E9
后面参数的计算方法
博客主要探讨C函数反汇编中CALL和JMP硬编码的计算方法。介绍了CALL硬编码E8后参数的计算公式,即真正要
跳转
的地址减去E8
指令
下一行地址,JMP硬编码
E9
后参数计算方法与之相同。还说明了下一条
指令
地址的获取方法,以及硬编码公式的修改。
jmp
e9
,call E8
博客主要围绕jmp
e9
和call E8展开。介绍了生成机器码是32 - bit有符号相对偏移及偏移计算公式,指出二者本质都是相对
跳转
,但call E8会先将下一条
指令
地址压栈用于返回。还给出x86 32位的例子进行偏移计算,并总结区别,补充了相关
指令
机器码。
E9
指令
地址计算方法
本文详细解析了嵌入式系统中补丁程序的编写技巧,重点介绍了jmp
指令
的使用方法及其计算公式。通过实例展示了如何利用Windows计算器进行16进制计算,以确定
E9
指令
的目标地址。
汇编语言
21,500
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章