一步一步教你修改BIOS.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一步一步教你修改BIOS

一步一步教你修改BIOS 坛子里面关于修改BIOS的文章已经很多了,今天以坛子里面有朋友要求帮忙的磐正 EP-8NPAJ为例一步一步实现SLIC表的添加。 首先,要准备好的软件:MODBIM6、CBROM219、WinHEX、everest、IDA、WinFlash、Hiew 7.2。 把要安装的软件如IDA安装好,其他的一起放在一个文件夹下面,如BIOS 。 好了,下面开始工作。 第一步,倒入OEM信息。 1、按WIN+R打开运行窗口,输入CMD,点击确定,启动命令行窗口。 2、在命令行窗口里输入cbrom219 [BIOS文件名.bin] /acpitbl extract导出ACPI表信息。 3、用WinHEX打开刚才导出的ACPI文件 图中需要修改的地方我用不同的颜色表示出来了,首先我们修改红色线的地方,由于我们要插入一个SLIC表,这个数字要增加4,需要修改成为34。绿色的地方修改为OEM厂家信息,这里改为华硕的信息。蓝色标记前面需要插入4个字节00用于储存SLIC表的地址。修改后的如下: 这里需要记录一个地址,就是插入4个字节00的首地址,后面用得倒。这里是30。 修改好后保存,退出。 4、把OEM SLIC表文件复制到BIOS文件夹,这里是:ACPISLIC.bin。在命令行窗口执行:copy acpitbl.bin /b + acpislic.bin /b acpitbl.bin /b 5、把APCI表重新倒入BIOS文件中去。在命令行窗口执行: cbrom219 [BIOS文件名] /acpitbl acpitbl.bin 如下图: 到目前为止,已经把SLIC表信息倒入了BIOS文件中,接下来就要修改BIOS文件,试这个SLIC表能够载入内存。 第二步修改BIOS文件 1、用MODBIN6打开BIOS文件 2、用WinHEX打开生成的ORIGINAL.BIN,并在里面查找RSDT字段 找到后需要查找并记录下3的地址和在文件中的记录位置,1:RSDT表首地址,2:表数目地址,3:FACS表地址。该BIOS的3个数据的数值和地址如下:(注意再文件中查找储存位置时,高低为要颠倒,如FACS表头地址是D320,查找时要查找20D3,查找重RSDT表向下查找) 名称 表头地址 记录位置 RSDT表 D320 D3EF 表数目 B905 D3E5 FACS表 D334 D441 3、向表中添加SLIC表。如果RSDT表前面存在4个字节以上的空位(全是00),可以把FACS前面的表直接前移4个字节,把SLIC表插到FACS表前面。该文件RDST前面的位置,不够,需要重新找地方安置整个表。在EF00附近找到大量的空位,就把整个表移到这里。 移动后的表是:RSDTFACPDSDTAPICMCFGSLICFACS 记录下RSDT表的地址:EF00,FACS表的地址:EF18,现在回到刚才记录好的地址处,依次把相应的新值修改好。由于增加了一个表,表的数目加1,修改好的对应关系如下: 名称 表头地址 记录位置 RSDT表 EF00 D3EF 表数目 B906 D3E5 FACS表 EF18 D441 修改好后存盘退出。 4、确认每个子表的内存入口指针偏移量。 用IDA打开ORIGINAL.BIN。 Processor Type 按照上图选择,然后点击Set,OK 这里点击NO 在Strings windows 里面查找RSDTFACP……字段 双击找到的字段,出现上图情况,把光标定位到在R字母后面按A 在1Eh处按C 在后面一点的unk_D34D再按C,要用的代码都出来了 用鼠标挨个移过CALL后面的函数,直到出现和上图类似的,双击。 出现上图画面,点鼠标右键,弹出的菜单,选Text View 分析出现的指令,红线标注的地方CX,6 就是新表子表的数量,下面的8374h就是表头RSDT指针偏移量。现在可以排一下原来个指标的指针. 子表 入口指针 RSDT 8374 FACP 8378 DSDT 837C APIC 8380 MCFG 8384 FACS 8388 继续看下面的代码 注意红线标注的地方,就是FACS入口地址的处理代码,向下继续查看代码, 红线标注出是FACS表地址赋值指令,等下要修改。蓝色框起来的两条指令是要移动的指令。现在来把新表的各子表地址排一下: 子表 入口指针 RSDT 8374 FACP 8378 DSDT 837C APIC 8380 MCFG 8384 SLIC 8388 FACS 838C 可以看出,SLIC表占用了原FACS表的地址,那么FACS表的地址要加4,刚才出现8388的两处,等下都要修改成为838C,先记下这两处的地址:D45C和D4BB。

文档评论(0)

5201314118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065201001000004

1亿VIP精品文档

相关文档