首页
社区
课程
招聘
[求助]反汇编时如何区分数据区和程序区
发表于: 2010-8-11 09:09 6649

[求助]反汇编时如何区分数据区和程序区

2010-8-11 09:09
6649
利用反汇编工具对二进制机器码反汇编时,如何区分二进制代码是数据还是程序呢?因目前在做mot文件(Motorola公司的S-Record文件)的反汇编,这是烧写到单片机中的文件,利用编写的程序对二进制数据反汇编,不明白的是如何区分该机器码是数据还是程序?请各位高手能给小弟解答,在此不胜感谢。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
冯诺依曼机器上这个是不可判定的
2010-8-11 09:22
0
雪    币: 998
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
单片机一般都是非冯诺依曼结构的。如果楼主只有一段机器码,没有运行其的实机,那哈弗结构也一样看不出,因为你还是不知道此段代码到底加载给哪个存储器。最多只能看看“像”还是“不像”。
2010-8-11 13:43
0
雪    币: 122
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
可是为什么用IDA对mot文件反汇编,选择好正确的单片机内核和大小端就可以得到对应的反汇编代码呢?前提是mot文件没有加密过。
2010-8-12 09:42
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
5
这个东西太高深了
2010-8-12 10:07
0
雪    币: 998
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这是强制让ida认为它是代码,按照该平台的机器指令进行反汇编。但如果我给你个数据文件,数据反汇编后恰好是合理的代码,你岂不是一样分辨不出?所以我才说,你只能看出来到底像还是不像(根据反汇编后去判断代码是否符合逻辑),却不能做到绝对的肯定。
2010-8-12 13:49
0
游客
登录 | 注册 方可回帖
返回
//