Tag: mbr

如何在C中“读取”MBR(主引导记录)?

我只想写一个程序来分析C中的MBR。 我已经知道一些方法可以通过Windows上的API或Linux上的命令来读取它。 但是,我可以在没有任何平台相关限制的情况下在C中完成吗? 如果我不能,有什么理由吗?

C语言中的低级写作

如何使用C编程语言写入硬盘上的任何块? 关于编写MBR有一个问题 ,但它没有涵盖C方面那么多。 由于文件描述符 – 正如文字所说 – 对于文件,我想在这种情况下没有办法使用它们。 C标准库中包含的低级I / O也使用filedescriptors实现。 更准确地说: 这个问题更像是编写HDD块而不是文件(独立于操作系统)。 上面提到的问题的答案基本上建议在UNIX-Systems上使用dd (coreutils)。 这就是我在C中寻求一种方式的原因。也许bootloaders( GRUB )和引导扇区病毒使用不同的技术? 我想改变文件描述符内部的实际指针并不合法。 问题和局限: 我知道要记住某些方面,例如 某些操作系统限制对卷的直接访问(例如Windows) 写入错误以及将错误的数据写入某些块可能会导致文件系统损坏(HDD上的数据丢失)。 防病毒软件可能会将其标记为可疑代码。 这个问题更具理论性。