【问题标题】:How read/write data on my laptop BIOS?如何在我的笔记本电脑 BIOS 上读/写数据?
【发布时间】:2015-01-21 14:47:37
【问题描述】:

是否可以读取/写入笔记本电脑的 BIOS?我想获取带有 rombin 扩展名的 BIOS 文件。我们可以很容易地获取bios信息,但是我们如何获取/下载bios芯片组文件呢?

【问题讨论】:

  • 我得到它的方式是 BIOS 制造商想要保护的东西。他们不希望您能够轻松地写入 BIOS,想象一下如果恶意程序可以写入 BIOS 会做什么?我可能错了,但如果这很容易,我会感到非常惊讶。
  • 好的,我以为你对 SMBIOS 数据感兴趣。要映射 BIOS 内存并读取它,您需要在 ring 0 中运行代码。因此您需要编写设备驱动程序或使用现有的驱动程序(通用驱动程序)。

标签: c# winforms rewrite bios


【解决方案1】:

有一个 Win32_BIOS WMI (Windows Management Instrumentation) 类,您可以通过 System.Management 命名空间中的方法对其进行实例化和查询。我不知道这个类是否具有 BIOS 芯片组的属性 - 如果没有,您可能会查看 Win32_Processor 尽管它旨在返回有关 CPU 的信息,而不是 BIOS。

【讨论】:

    【解决方案2】:

    看看win32 api函数GetSystemFirmwareTable

    编辑:

    以上对读取 SMBIOS 数据有效。要读取实际的 BIOS 内存,代码需要在内核模式下运行。

    【讨论】:

    • 您需要编写内核模式驱动程序,该驱动程序将读取 BIOS 映射的内存。然后您需要在用户模式(您的应用程序)中加载该驱动程序并使用 IOCTL 与您的驱动程序通信并获取数据。 msdn.microsoft.com/en-us/library/windows/hardware/…
    • @MoonLight,我如何连接你,我有类似的问题,需要你的经验这个话题。
    • @MoonLight 你的问题已经解决了,如果解决了请帮帮我。
    猜你喜欢
    • 2020-09-27
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2011-01-18
    • 2022-01-25
    • 2012-12-30
    • 2017-04-22
    • 1970-01-01
    相关资源
    最近更新 更多