即使您更喜欢通过单击在 IDA 中移动,也应该记住 G 快捷键。其背后的操作简单地称为“跳转到地址”,但它可以做的事情比从名称中猜到的要多得多。
跳转到地址
首先是实际跳转到地址:输入要跳转到的地址值。您可以在其前面添加 0x 前缀以表示十六进制表示法,但这是可选的:如果没有前缀,输入的字符串将被解析为十六进制数字。
在具有分段架构的架构中(例如16位x86),可以使用 segment:offset 语法。段可以是符号名称(seg001、dseg)或十六进制(F000);偏移量应该是十六进制。
如果当前分析的程序同时包含分段和线性寻址(例如,高端内存中具有 32 位保护模式操作系统映像的传统 16 位引导加载程序),则可以使用“段”0 来强制使用线性地址(0:1000000)。
跳转到相对地址
如果输入的值以 + 或 - 为前缀,则将其视为距光标位置的相对偏移量。再次强调,0x 前缀是可选的:+100 向前跳转 256 字节,-10000 向后跳转 64KiB(65536 字节)。
跳转到符号
跳转里面支持输入 IDA 中看见的各种符号名。
跳转到表达式
可以使用 C 语法表达式来代替地址或名称。就像在 C 中一样,十六进制数必须使用 0x 前缀 - 否则假定为十进制。可以使用此处的名称或特殊关键字(并解析为它们的地址)
使用寄存器
在调试的时候,你可以在表达式中使用寄存器,例如 ebp。
原文始发于微信公众号(二进制磨剑):IDA 技巧(20)跳转到一些地方
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论