当前位置: 首页 > 面试题库 >

如何反汇编原始的16位x86机器代码?

柴默
2023-03-14
问题内容

我想分解一下我拥有的可引导x86磁盘的MBR(前512个字节)。我已将MBR复制到使用

dd if=/dev/my-device of=mbr bs=512 count=1

对可以反汇编文件的Linux实用程序mbr有何建议?


问题答案:

您可以使用objdump。根据本文的语法为:

objdump -D -b binary -mi386 -Maddr16,data16 mbr


 类似资料:
  • 本文向大家介绍Intel x86 Assembly& Microarchitecture 16位寄存器,包括了Intel x86 Assembly& Microarchitecture 16位寄存器的使用技巧和注意事项,需要的朋友参考一下 示例 当英特尔定义最初的8086时,它是一个具有20位地址总线的16位处理器(请参阅下文)。他们定义了8个通用16位寄存器-但为某些指令赋予了它们特定的作用:

  • 说实话绝影就等着张厂长把他的研究成果公布出来,这样才能当场找出其中的纰漏并当场将他驳回。你想我绝影做到这里能弄出个反汇编器来,已经是突破性进展了,张厂长还能比我牛? 于是他平静地说:"说来听听,看看你有啥好法子。" 张厂长哪里知道绝影心里的算盘,他还是和平时一样一本正经严肃认真一丝不苟地说道:"这几天我去他们车间调研了,其实开始我们都想复杂了。他们的芯片和主机通过穿口通信,类似于一问一答……" "

  • 本文向大家介绍Intel x86 Assembly& Microarchitecture x86汇编语言,包括了Intel x86 Assembly& Microarchitecture x86汇编语言的使用技巧和注意事项,需要的朋友参考一下 示例 x86汇编语言家族代表了最初的Intel 8086架构数十年来的进步。除了基于所使用的汇编器的几种方言外,多年来添加了附加的处理器指令,寄存器和其他功

  • 让我们用一个简单的C代码来设置寄存器: 当我使用1级优化为ARM(ARM none eabi gcc)编译此代码时,汇编代码如下所示: 看起来地址111111被解析到最接近的4K边界(110592)并移动到r3,然后通过将519添加到110592 (=111111)来存储值4096(0x1000)。为什么会这样? 在x86中,组装非常简单:

  • 我试图翻译成x86汇编,以帮助我更好地理解在x86汇编中编码的概念,我觉得自己被困在了如何开始编写这段代码上。