作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试反汇编 68000 的 BIOS 镜像,但无法让 IDA Pro 6.5 正确交叉引用地址。
对于那些不知道的人来说,摩托罗拉 68000 有一些与寻址相关的有趣功能/怪癖:
该 BIOS 的原始作者在许多地方利用了这些属性来节省一些字节:对于 0xFF8000 以上的任何地址,可以仅使用两个字节而不是四个字节来指定地址。例如,如果我想访问地址0xFF9134处的内存:
lea (0x9134).w, a0
< sign extension >
lea (0xFFFF9134).l, a0
< discard high byte >
lea 0xFF9134, a0
我遇到的问题是 IDA Pro 正在执行符号扩展,但随后考虑整个 32 位地址,而不是仅考虑低 24 位。 IDA 最终尝试交叉引用不存在(或至少不应该存在)的地址,并且我在 0xFF8000-0xFFFFFF 地址范围内的任何段/代码/数据都被完全忽略。
我对 IDA Pro 还很陌生,所以我不知道这是否可以用脚本来解决,更不用说如何编写这样的东西了。有没有办法让反汇编器正确处理这个脏/聪明的寻址技巧?
最佳答案
我也有同样的问题。我的决定是创建 custom_ana 回调,然后更改每个操作数地址,如下所示:op.add &= 0xFFFFFF。但这并不那么容易。因为此时你还没有完全识别“cmd”,你必须通过自己的代码来准备它。
关于ida - M68k - IDA Pro 24 位寻址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30987128/
我正在尝试提供即时转码的视频。不幸的是,这意味着寻求不起作用。我假设这是因为浏览器不知道视频有多长,因此无法正确显示搜索栏。 有谁知道是否可以对视频的时长进行硬编码? 我想到的另一个选择可能是创建我自
我是一名优秀的程序员,十分优秀!