首页
论坛
专栏
课程

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

2008-11-13 11:34 6785

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

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

[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

上一主题 下一主题
最新回复 (2)
TC是QF加TF 2008-11-13 16:18
2
0
那个是数据吧,怎么反汇编?
egogg 9 2008-11-13 20:24
3
0
可以按照下面的步骤反汇编:
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位的。

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