首页
社区
课程
招聘
[求助]IDA反汇编机器码是小端,而数据怎么设置为大端
发表于: 2010-8-24 15:39 8433

[求助]IDA反汇编机器码是小端,而数据怎么设置为大端

2010-8-24 15:39
8433
选择为小端模式,使用IDA对机器码反汇编,但代码中的定义数据应该大端模式程序才能说的通,怎么才能把其中的数据定义为大端啊?请看看下面的代码
0000E74A                 mov.l   dword_E8EC, r3 ; h'000C0086
0000E74C                 mov.l   dword_E8F0, r1 ; h'DD88FFFF
0000E74E                 mov.l   r3, @r1
0000E750                 mov.l   dword_E8F0, r3 ; h'DD88FFFF
0000E752                 mov.l   @r3, r3         ; 读取 寄存器
0000E754                 mov.b   @r3, r2
0000E756                 extu.b  r2, r6
。。。。
0000E8EC   dword_E8EC:     .data.l      h'000C0086      
0000E8F0    dword_E8F0:     .data.l      h'DD88FFFF
第一句是将h'000C0086写入寄存器r3,而真正需要的是h'0086000C这个数据,同样第二句也是需要h'FFFFDD88这个数据定义,第3句会使用h'FFFFDD88,存储r3中的数据。
有没有人对IDA熟悉的,看看是我哪里设置有问题吗?怎样把机器码按照大端模式去反汇编,而其中的数据要按照小端模式读取呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 334
活跃值: (78)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
处理器类型对了, 数据格式就对了
2010-8-24 16:07
0
雪    币: 122
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
处理器类型没问题,代码也能反汇编,可是就是数据格式不对啊
2010-8-24 16:08
0
雪    币: 334
活跃值: (78)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
看看处理器类型, 里头有 shXB, 代表big-endian
2010-8-24 16:44
0
雪    币: 122
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可是我的代码要设置为小端,才能反汇编。反汇编后只有32位立即数的高16位和低16位顺序应该颠倒,其它都没问题。
2010-8-25 09:34
0
游客
登录 | 注册 方可回帖
返回
//