我目前正在使用radare2
小端格式反汇编原始 ARM 二进制文件(引导加载程序)。我使用该命令e cfg.bigendian = false
来设置字节序,但该pd
命令似乎忽略了我的设置。特别是,我使用了以下命令链:
$ r2 -a arm bootloader.img
[0x00000000]> s 0xa48
[0x00000a48]> e cfg.bigendian = false
[0x00000a48]> pxw 4
0x00000a48 0xe92d41c0 // This is correct
[0x00000a48]> pd 1
0x00000a48 c0412de9 invalid // This is the wrong ordering
当我使用以下命令时:
[0x00000a48]> e cfg.bigendian = true
[0x00000a48]> pxw 4
0x00000a48 0xc0412de9
[0x00000a48]> pd 1
0x00000a48 c0412de9 invalid
pxw 的字节顺序会改变,但 pd 的字节顺序不会。
我如何告诉pd
(或任何其他反汇编命令)假设某种字节序?我刚开始使用radare2
,所以可能是我在这里遗漏了一些东西 - 随时指出任何错误。