我想拆解我的可启动x86磁盘的MBR(前512字节).我已经将MBR复制到了一个文件中
dd if=/dev/my-device of=mbr bs=512 count=1
Run Code Online (Sandbox Code Playgroud)
对可以反汇编文件的Linux实用程序的任何建议mbr?
在QEMU中诊断引导加载程序代码?
我试图创建一个最小的“引导程序代码”,该代码打印字符“ A”,然后停止。
我为此编写了以下C ++程序
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
/*
* If I run these code directly in Windows, it crashes, for I believe Windows
* do not allow accessing the BIOS directly, that make sense
*
* But I can compile a binary, then I can use the debugger to view what machine code
* does these correspond to, and build to boot program!
*/
/*
__asm
{
mov ah, 0x0e …Run Code Online (Sandbox Code Playgroud) 我希望能够编写原始机器代码,而无需汇编或任何其他种类的高级语言,而这些语言可以直接放在闪存驱动器上并运行。我已经知道要执行此操作,我需要将主引导记录标头(我已经设法手动完成)格式化到驱动器上。我已完成此操作,并成功使用代码所在驱动器的第一个扇区(在本例中为前512个字节)中的汇编代码,使一行文本显示在屏幕上。但是,我希望能够像在MBR格式化中那样将原始的十六进制代码写入驱动器,而无需诸如汇编之类的任何工具来帮助我。我知道有一种方法可以做到这一点,但是我真的找不到任何不涉及汇编的东西。在哪里可以找到有关此信息?汇编附带了谷歌搜索机器代码或x86编程,这不是我想要的。
assembly ×2
x86 ×2
x86-16 ×2
bootloader ×1
linux ×1
low-level ×1
machine-code ×1
mbr ×1
real-mode ×1
visual-c++ ×1