【问题标题】:How to write BIOS program that connects to the internet?如何编写连接互联网的 BIOS 程序?
【发布时间】:2011-07-18 03:55:21
【问题描述】:

我知道有一些程序,如笔记本电脑上的 lojack,安装在 BIOS 上,但我仍然有点困惑。在阅读有关 lojack 的信息时,在我看来,在用户登录并尝试访问互联网之前,他们无法完全定位笔记本电脑的位置。所以我认为这是一个 BIOS 应用程序,所以如果小偷重新格式化 HD 也没关系。

所以我的问题是,有没有人知道如何编写互联网启用 BIOS 应用程序。我不是在寻找完整的答案——只是开始的想法或资源。例如,这样的东西是用汇编写的吗?一旦编写了一个这样的应用程序,它如何转移到 BIOS。 BIOS 程序本身是否识别出存在 Internet 连接(当小偷登录到操作系统时)。或者在登录时,是否会产生其他进程?是否有任何人也可以指导我的资源/网站?

【问题讨论】:

    标签: bios


    【解决方案1】:

    您没有提到您对传统 BIOS 还是 EFI BIOS 感兴趣,但我要提到的是,使用 EFI 可以编写 EFI 应用程序。参见英特尔新闻:

    Harnessing the UEFI Shell

    EFI 应用程序工具包附带完整的 TCP/IP 网络堆栈:
    http://www.intel.com/technology/efi/toolkit_overview.htm

    更多tianocore.org

    【讨论】:

    • 那么,使用 UEFI 解决方案,我是否需要第三者,或者我可以单独运行一个嵌入式程序?另外,如果我对旧版 BIOS 感兴趣,是否仍然可以创建兼容的嵌入式程序?
    • 借助 UEFI,您可以使用来自 tianocore.org 的 EDK 编写自己的应用程序。关于旧版 BIOS——您有旧版 BIOS 代码库吗?您不太可能这样做,因为旧版 BIOS 是来自 AMI 或 Phoenix 等 BIOS 供应商或戴尔等计算机制造商的专有固件。我认为期望您可以使用旧版 BIOS 扩展系统是不现实的。
    • 嗯,即使对于 UEFI 和 tianocore,它在某种意义上仍然是一个闭源软件。是的,tianocore 本身是开源的,但它只是一个框架,如果没有大量工作来初始化各种硬件,你无法在任何现实的物理硬件上运行它。 BTW:初始化硬件是 BIOS 或 UEFI 的核心功能之一。
    【解决方案2】:

    关于“LoJack”式解决方案,该技术的提供者之一是 Absolute Software 的 Computrace 产品。

    基本上有 3 个组件: 1) 在操作系统中运行的软件组件; 2) 一个 BIOS 组件,它被烘焙到系统 BIOS 中(通过 Absolute 与 PC 供应商合作完成); 3) Absolute 软件中与 PC 通信的服务器。

    有关其工作原理的更多信息,请访问:
    http://www.absolute.com/en/company/Computrace-Persistence.aspx

    (特别是看这个网站上的演示视频)

    【讨论】:

      【解决方案3】:

      要了解有关 BIOS 的知识,coreboot.org 是一个很好的来源。它是一个开源 BIOS(或固件)并支持一些物理机。

      传统 BIOS 是用汇编语言编写的,但新一代的,例如 UEFI 或 coreboot,主要是用 C 语言编写的。 BIOS程序存储在ROM中,由CPU自动执行。

      【讨论】:

        【解决方案4】:

        BIOS 程序本身不访问互联网或执行任何宣传的功能。 BIOS 固件中添加的 LoJack 是一个文件复制/修补实用程序 - 在启动时,它可以检查硬盘驱动器是否有 Windows 副本,如果 LoJack 服务已被删除,则继续静默安装/修复它。该服务本身包括一些降低其配置文件并防止自身被禁用的措施(类似于有多少木马和恶意软件运行多个进程,如果一个被禁用或杀死,每个进程都会恢复另一个进程)。

        如果在擦除硬盘后安装了不受支持的操作系统(如 Linux),LoJack BIOS 程序将无法执行任何操作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-03-31
          • 2019-11-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多