admin管理员组

文章数量:1532748

2024-07-28 作者:

ThinkPadT400andR400+SLIC+白名单图文教程(完整版)R400+SLIC+

(适合X200的修改、T500系列可以参考)

BIOS的下载地址(3.01-1.03(BIOSID:7UET71WW),日期:2009/05/29)官方地址:

/jp/domino05/pc/download//jtechinfo/MIGR-70350文件名:

所有工具:及相关模块解压、分解压及压缩工具。

//(这里一般可以下到你所要的工具)。

一、准备工作

1、我们先解压文件“”以得到我们所要的BIOS文件,如图1-2所示。最

后我们的是压缩的BIOS文件,其文件名为:“$1”。

2、对文件“$1”进一步解压,才能得到可修改的BIOS文件,用工具“e_”

来对其解压,命令格式为:e_$(是我自己起的,可随便起!)。这样我们就得到了一个8M的可修改的BIOS文件“”。如图3所示:

3、由于8M的BIOS文件用“PBE”软件无法打开,我们只能进行手工修改了。因而必须把它的相应模块进行分离出来。可以用工具“”来完成,其命令格式为:,如图4:

运行后会生成好多的模块,但需要的主要是两种模块“ACPI”和“BIOSCODE”。如图5所示:

本例中的“ACPI”模块为“”共8个模块;“BIOSCODE”模块为“”共9个模块。实际上只是修改“BIOSCODE”模块,“ACPI”模块主要是看它的个数,方便我们加入“ACPI”模块时的序号。本例如果要插入“ACPI”的模块的话,应该是“ACPI08”。

1-

二、加入SLIC表

1、前面我们用了相关工具对其进一步解压文件得到相关的模块文件(其中ACPI模块是从00-07(如果说要再加入ACPI模块的话应该是08),BIOSCODE模块是从00-08。

2、用WinHex打开所有BIOSCODE开头的模块文件,搜索RSDT、SLIC关键字,结果在:

中发现RSDT和SLIC

中发现RSDT和OEMTABLEID信息“LENOVOTP-7U”

根据赵大的经验和查找各种资料,中会有代码把所有表的OEMTABLEID信息改为“LENOVOTP-7U”,我们就以改为:“LENOVOTP-7U(我们有现存的这个表)”为例。如图6--8所示:

3、我们先把“LENOVOTP-7U”表改造成BIOS的标准模块。这个可以用赵大的“ACPI”压缩模块工具来完成。把“”改名为“”再运行批处理文件“”即可。其中“”的内容为:

2-

_

“”的内容为:;

BANKS-N:1-S:-x

把这个两个文件和“”放在同目录再运行“”即可。如图9所示:

运行结束后在当前目录下得到一个“”的文件,实际上是加一个头部信息的新的SLIC表文件(总长度为18EH)。我们用“”打开它,如图10所示:

头部是从00H--18H,根据赵大的理论其头有如下解释:

字节0、1:固定为F800字节2:8位校验一字节3:8位校验二

字节4、5、6:模块长度(包括头部,即从F800开始)字节7:01--模块未压缩;02--模块是压缩的;F0--还不知道是代表什么字节8:固定为5F(即下划线“_”)字节9:模块类型,41H(ACPI),42H(BIOSCOD)字节A、B:模块的序号(00、02、02、03...........)字节C---18:基本上是00000000FF000

3-

因我们要加入ACPI模块的是“ACPI08”,所以要作如下修改,修改完记得保存一下,见图11所示:

关于02H位的校验的计算(71H-8H=69H),我是这样计算的:用“”选中从04H到18H部分(共14H字节),即图12中的选定部分,从菜单栏中选“计算哈希值”(或按组合键:Ctrl+F2),按确定即可,本例得到的结果为97H,那么校验值:100H-97H=69H。

4、把修改好的ACPI08模块插入到文件中,具体做法是:用“”打开文件“”,以关键字“_A0”来搜索“ACPI”模块的最后一个(实际上ACPI模块不是按编号顺序来存放的。),把我们改造好的“ACPI08”模块插入到文件中的ACPI模块的最后,本例“”为ACPI的最后一个模块如图13所示:

从上图可以看出“ACPI06”模块的长度是57H,即从7D5698H开始到7D56EEH结束。从7D56EFH开始又是一个模块的开始了,我们就从7D56EFH处开始插入(怎么插入大家应该会操作的吧),如图14所示:

4-

由于我们插入了ACPI08模块(长度为18EH),对整个的文件长度来讲也增加了18EH的长度,我们必须要让它保持原来的长度,也就是要保持原来的长度不变,必须删除没用的相应长度的字节。我们发现在原来ACPI06模块的后面有大片的“FF”,如图15所示:

从上图可以看出“FF”模块的长度为A060H,校验值为10,我们删除了18EH的长度,就要把这个两个地方作一修正,其长度修正为:A060H-18EH=9ED2H,十六进制写法为:D29E;校验值修正为(计算方法同上):A0

如图16所示:

到这里为止,我们的SLIC表的加入算是完成了,接下来我们修改它的白名单。

三、修改白名单:

前段时间一直在看汇编,想能不能把它的白名单给破解了,虽然找到的跳转语句,但这样做不是很完美,而且需要屏蔽20才行好多功能也有限制,后来想进一步搞下去,可是水平有限,关键的地方足有50多处,只好放弃!回个头来继续看外国的PATCH工具,用法上一直是个问题,既然有这么个工具我想应该给它好好利用一下,请教了外文老师,终于知道了它的用法。接下来我们就用这个工具来破它的白名单。

1、首先下载PATCH工具,地址为://。把它解压到一个目录中,然后在解压的目录中再自己建一个目录(随意)为“biosmod”,为了使用上的方便我还在这个目录中建了一个批处理文件,暂且命名为“”吧。其内容为:

phnxpatchpatchesbiosmodPause

2、白名单一般都在“BIOSCODE”模块中,经过搜索发现T400/R400、X200/X200S所在的白名单模块都是在“BIOSCODE06”中,我们就把它拷贝到刚才建立的目录“biosmod”中。你如果不清楚到底在哪个模块也不要紧,就把上面分解出来的所有“BIOSCODE”模块全部拷贝到这个目录中,PATCH这个工具还蛮智能的了,它会自动查找、对比和个修改。

5-

把全部“BIOSCODE”考入该目录后,我们运行批处理“”文件,它自动找到了06

hed”模块并对其进行了PATCH。在目录“biosmod”中生成了一个叫“d

的新文件。图17是运行后的效果:

好了,现在我们要做的事是要把“d””这个模块改造一下进行替换原BIOS文件中的06模块,即我们把它压缩成一个标准的模块我们用“”、“”来完成。其内容分别是:

se

se

_

;KS-N:1-S:

我们以上三个文件放在同一目录中,并把“d”重新命名为“”,运行一下批处理“”文件后会在当前目录下生成一个名为“”的文件,其大小为64K。用“WinHex”打开如图18所示:

从前面对模块的定义可以知道,压缩后的模块01H位校验为79H,长度为86FFH,模块编号为_B00。要替换的是_B06模块,我们要把修改一下,把02H位的校验修正为73H(79H-06H=73H),把_B00改为_B06。从86FFH开始以下的内容全部删除(模块长度86FFH是从0000H开始到86FEH结束的[0000H+86FFH-1=86FEH])。另存为“”。其部分效果图见图19所示:

6-

还是用“WinHex”打开本例的BIOS文件“T400..ROM”,以关键字“_B06”来搜索原始06模块的位置,结果如图20、21所示:

从图20和21可以看出原06模块在BIOS的偏移是从767CF2H开始到7703F9H结束,长度为8708H。偏移7703FAH即为下一模块的开始了。刚才我们压缩的模块长度是86FFH,少了9个字节(8708H-86FFH=9H),我们就要在刚才压缩的“”的尾部加上9个字节的“00”,以保持原始和修改后的06模块的长度保持完全一致。见图22所示:

rl+A其他地方不用再作修改,因加入的是“00”字节,它的校验也不会发生变化。好了我们全选(可以按CtCtrl+A

组合键)再按组合键(Ctrl+C)复制,回到用鼠标点一下偏移“767CF2H”、“F8”按组合键(Ctrl+B)进行替换。最后检查一下偏移“767CF2H”和“7703F9H”这两个位置的内容是否正确,有否影响了其他模块,正确无误后保存一下文件就行了,至此破解白名单的任务完成了。我们看一下替换后的效果图,见图23和24所示:

7-

从图23和24可以看出完全正确,你可以进行刷新测试了,但要记住一点,没有把握的事绝对不做,刷BIOS有风险,刷修改的BIOS风险更大!切记!切记!

四、关于BIOS的刷新

这里只讲修改后的BIOS文件后缀是“ROM”和“WPH”,也即是未经过压缩的刷新方法(后缀是FL1的可不必刷两次,直接覆盖解压后的官方原文件即可刷新)。说明:刷新之前请先在BIOS设置中去掉所设的用户密码(包括超级用户密码)及其他一些个人设置!

1、从官网下载得到原文件本例的文件名为“”后,用解压缩软件(WINRAR或7Z都可)把它解压到一个目录中,然后运行里面的文件“”进行升级(见图28)!

2、升级正常后再运行里面的“”文件,在specifynewBIOSfile处选我破解的bios文件(本例为“”),然后点flashBIOS,完成后重启就可以了(见图29)。

8-

有时参数设置按钮可能不会出现在界面中,如需要可以在文件“”加上下面的语句就可以了:

[UI]

Advanced=1五、最后再一次提醒大家的是,刷BIOS有风险,本人只是爱好而已,并不推荐大家都去这么做。本文参考了不少资料及前人修改BIOS的经验教训,在这里一并表示感谢,不当之处还大家指正!

9-

10-

本文标签: ThinkPad T400 and R400SLIC白名单图文教程