欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

修改BIOS的基本原理分析

程序员文章站 2022-06-21 19:00:21
大家都想把BIOS刷成自己想要得。有修改BIOS来激活操作系统的,有修改开机logo的,有修改特定字串的... 12-09-08...
有很多方法来实现,有用16位编辑器直接修改一些数据的,有用工具修改模块或者图片的....

林林总总,我给大家介绍一下基本的原理,希望大家对修改bios有个更详细的了解。

1.修改logo画面

很好理解,logo的图片文件肯定是在bios里面,压缩过或者未压缩,而这一切的实现都是bios的厂商(ami, phoenix, insyde,dell...)来实现的。所以除非超级黑客级的cracker能够无聊的从rom文件进行反加密,反编译,重新decode,找个logo文件替换掉以外(基本只有理论的可能性),其他都是用bios的厂商自己的工具来实现的,比如说ami的mmtool, phoenix的bios edit..
所以如果普通用户想要修改自己的logo,首先要了解这些工具的用法,然后参考别人是怎么修改的就能很容易的学会了
希望对你有帮助。

2.激活os

主要是针对oem的操作系统,其实对于操作系统而言,包括计算机,真正的大客户不是我们自己撺机的这些买家(零售商),而是dell, lenovo, hp这样的大的oem厂,这些大厂的机器出场一般都有正版的操作系统,为了使这些操作系统得到保护,ms出了自己的一套方案,slp
从slp1.0, slp2.0..这些都要bios提供出一个加密过的特定字串,ms去检查这些,一旦匹配,就可以认定为正版(激活)!
所以为了激活os,要做的就是修改或者添加这些特定字串。这些字串可能在特定模块里面,我们可以通过适用工具修改模块来实现。这些字串也可能单独存在于rom中,我们可以用16位编辑器来修改... 方式有很多,可以参考diybios发表的文章

3.修改特定字串

这个基本上有2种,一种是上面所说的修改slp, 另一种就是修改smbios(最初叫dmi)。
smbios规范定义了访问的方式--pnp function,bios要去实现这些访问的方式,所以我们可以通过调用这些pnp功能来修改smbios。

一般,bios厂商提供了修改的工具,dmiedit或者smbios edit这样的工具,使用方法很简单,我就不多说了