首页
社区
课程
招聘
[旧帖] [求助]如何将mbr反汇编? 0.00雪花
发表于: 2008-11-13 11:34 8102

[旧帖] [求助]如何将mbr反汇编? 0.00雪花

2008-11-13 11:34
8102
请教:我想对我的电脑mbr,进行反汇编,如何操作?
用winhex可以看见十六进制的代码,我想看他们的汇编语言表达形式。

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
那个是数据吧,怎么反汇编?
2008-11-13 16:18
0
雪    币: 202
活跃值: (57)
能力值: ( LV9,RANK:370 )
在线值:
发帖
回帖
粉丝
3
可以按照下面的步骤反汇编:
1、从winhex中截取mbr的代码部分0h ~ 01BD。
2、把截取的部分存成文件,要是数据文件而不是这部分的16进制的文本文件,在winhex中选定,右键,edit->save as file就可以。假如存为了mbr.dat
3、用debug反汇编:
(1)debug mbr.dat
(2)- u
(3)这里的反汇编跟pe文件不同,你必须自己分清楚哪部分是代码,哪部分是数据,比如我的mbr数据的反汇编:

1ECD:0100 EB48          JMP     014A
1ECD:0102 90            NOP
1ECD:0103 D0BC007C      SAR     BYTE PTR [SI+7C00],1
1ECD:0107 FB            STI
1ECD:0108 50            PUSH    AX
1ECD:0109 07            POP     ES
1ECD:010A 50            PUSH    AX
1ECD:010B 1F            POP     DS
1ECD:010C FC            CLD
1ECD:010D BE1B7C        MOV     SI,7C1B
1ECD:0110 BF1B06        MOV     DI,061B
1ECD:0113 50            PUSH    AX
1ECD:0114 57            PUSH    DI
1ECD:0115 B9E501        MOV     CX,01E5
1ECD:0118 F3            REPZ
1ECD:0119 A4            MOVSB
1ECD:011A CB            RETF
1ECD:011B BDBE07        MOV     BP,07BE
1ECD:011E B104          MOV     CL,04

那么就就必须用下面的命令:
- u  014a
重复这个步骤,一步步把代码和数据分清楚,并把所有的代码部分反汇编出来。

这里不能直接从头到尾地翻译的原因就是有些部分可能是数据,可能会破坏代码的数据结构。

不用debug用ida也行,只要能反汇编就可以,而且必须是16位的。

如果反汇编出来了,研究透了别忘了在论坛上共享啊, 好运!
2008-11-13 20:24
0
游客
登录 | 注册 方可回帖
返回
//