首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改bios代码/刷新bios

更改bios代码/刷新bios
EN

Stack Overflow用户
提问于 2011-08-19 22:09:23
回答 3查看 3.4K关注 0票数 15

我花了很多时间来开发操作系统和开发低级引导加载程序。但是现在我想离开我的操作系统一段时间,而不是离开底层环境,做一些涉及安全的事情。

因此,我选择按照预引导身份验证方案构建自己的标准密码实用程序。由于我希望该软件至少具有一点可移植性,因此我希望它尽可能少地使用外部支持。我想,如果我设法从一个运行的实模式操作系统中“钩子”到自检和int19引导程序之间的某个bios中,我会做得最好。

然而,找到关于如何修改bios代码的信息被证明是不可能的。我没有找到任何关于如何实现前面提到的内容的东西。我只找到了描述如何刷新你的简历的页面。

有人知道我如何读写bios代码吗?或者有人可以提供到描述这一点的页面的链接?

我知道这不仅是可能的,而且也是可能的,我意识到了风险,并愿意接受。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-20 05:50:53

Pinczakko关于BIOS反向工程的articles是一个很好的起点。也有一个由同一作者出版的book,但现在已经绝版。

我不确定这种方法是否是实现安全引导的最佳方法,但是这个站点上的文章非常详细,应该会为您提供一种修改BIOS固件的方法。

票数 4
EN

Stack Overflow用户

发布于 2011-08-19 22:28:35

我不是很确定你想要达到什么目的,但是:

BIOS完全是硬件特定的-每个制造商都有自己的更新/刷新BIOS的机制,因此试图提出一种用于更新BIOS的便携式机制注定会失败。例如,当使用Bochs时,您可以通过指定不同的BIOS ROM映像来“更新”BIOS。

如果您想修改/编写您自己的BIOS,那么它将完全特定于该硬件。您最好的选择是从Bochs这样的开源软件开始--因为您可以查看BIOS的源代码(并且可以轻松地对其进行测试/调试),所以您有一个合理的机会来理解BIOS代码并将其修改为有效的代码,但是我怀疑这不是您要尝试做的事情。

为什么不在操作系统启动时执行此身份验证?如果您想保护数据,那么您应该对其进行加密,并要求用户在启动时提供登录/提供解密密钥。

票数 3
EN

Stack Overflow用户

发布于 2011-08-20 10:37:12

如果您正在考虑使用“遗留”PC BIOS,我会劝阻您不要尝试使用Justin提到的许多原因: 1)遗留BIOS是特定于PC供应商的;2)它是封闭源代码和专有的;3)没有定义遗留BIOS接口的行业标准来扩展您正在尝试的系统。

另一方面,如果您可以访问UEFI-based BIOS PC,则可以编写自己的PEI/DXE驱动程序来实现此类功能。这至少会给你指明一个正确的方向:

http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Welcome

关于主题的英特尔出版社书籍:Beyond BIOS

关于读/写基本输入输出系统的实用性,您需要确定包含基本输入输出系统的SPI部分并获得一个ROM burner。SPI部件可能有插座,也可能没有插座;如果没有插座,您将需要一个焊接棒,并且能够为该部件创建一个插座/接头。你显然不想在你的主计算机系统上开始这个项目。也许你可以找到一个更老的系统或者一个参考板。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7122815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档