这两天一直在摆弄我的戴尔笔记本电脑(型号是2420)。 由于某些原因,我将笔记本电脑BIOS升级到A07,但是当我想将BIOS降级回原来的较低版本时,我发现它不起作用。 我一开始用的软件对bios没有任何影响。 备份文件无法恢复(因为升级的时候想尽快搞定,所以没仔细看,可能是程序不适合笔记本主板型号的原因)! 我尝试了网上各种刷BIOS的软件和方法(包括在dos下使用.exe等),但都失败了,这给我带来了很多的挫败感和郁闷。
我首先查看另一台同型号电脑的BIOS版本是A03,于是我从dell官网下载了A03版本的BIOS更新程序(.EXE)。 然而,当您想要更新BIOS时,它会提示“您即将将您的BIOS刷新到较旧的BIOS。戴尔不会将您的BIOS刷新到较旧的BIOS。按确定退出。” 当你点击确定后,程序就退出了,这让人相当生气。 戴尔,你为什么要有这个程序来自己做决定? 那么,为什么禁止用户降级BIOS呢?
在我尝试了所有的方法都失败后,看来此时所有的在线工具都失效了(可能是因为这款笔记本电脑型号比较新,所以在线工具不适用),我不得不考虑最可靠最可靠的一个。 安全的办法是使用戴尔官网的BIOS更新程序进行闪回(因为官网可以明确下载严格匹配机器型号的BIOS更新)。 显然,因为我的BIOS版本已经刷到A07了,所以想刷回低版本A03。 我知道这个程序执行到最后,会弹出一个超级愚蠢又绝望的提示,然后就退出了。 所以,绝境之下,此时唯一的想法就是:修改这个程序! 找到弹出这个的代码并扭转他的逻辑! 这是我此时最后的救命稻草,也是我唯一的希望。 如果还是失败,我就不得不接受这个令人沮丧的现实(也就是凑合),但这最后一根救命稻草终将让我脱离危险。 。
于是工作开始了。 启动IDA,打开.exe程序,等待一段时间IDA完成分析。 让我高兴的好消息是这个程序没有任何加密或自我保护。 显然这是一个直接编写的程序(没有采取任何保护措施来防止有人修改它)。 我又查看了这个程序的资源,感觉里面有一些对话框,好像这个程序是给程序用的。 一种“封装”,因为它包含了一些程序的印记,比如对话框等。 然而,当我运行这个从网上下载的程序时,它总是崩溃,所以我无法继续将注意力转向反汇编分析.exe程序。
弹出的代码非常容易定位,因为文本内容以纯文本形式放在.rdata中。 很容易找到弹出的代码。 找到它们之后,继续跟踪程序跳转的关键节点,很快就找到了(.text)地址,代码如下:
.text:00466E00 .text:00466E00 loc_466E00: ; CODE XREF: sub_466D40+9Fj .text:00466E00 ; sub_466D40+B7j .text:00466E00 push offset aWarning_4 ; "WARNING" .text:00466E05 lea eax, [ebp+Caption] .text:00466E0B push eax ; LPSTR .text:00466E0C call ds:wsprintfA .text:00466E12 add esp, 8 .text:00466E15 mov ecx, [ebp+var_10C] .text:00466E1B cmp ecx, [ebp+var_214] .text:00466E21 jnb loc_466EF0 ; 【重要】要修改的指令! .text:00466E27 movzx edx, word_5072F8 .text:00466E2E and edx, 80h .text:00466E34 jz short loc_466E93 .text:00466E36 push offset aWarning_5 ; "WARNING!!" .text:00466E3B lea eax, [ebp+Caption] .text:00466E41 push eax ; LPSTR .text:00466E42 call ds:wsprintfA .text:00466E48 add esp, 8 .text:00466E4B push offset aYouAreAboutToF ; "You are about to flash your BIOS to an "... .text:00466E50 lea ecx, [ebp+Text] .text:00466E56 push ecx ; LPSTR .text:00466E57 call ds:wsprintfA .text:00466E5D add esp, 8 .text:00466E60 push 31h ; uType .text:00466E62 lea edx, [ebp+Caption] .text:00466E68 push edx ; lpCaption .text:00466E69 lea eax, [ebp+Text] .text:00466E6F push eax ; lpText .text:00466E70 push 0 ; hWnd .text:00466E72 call ds:MessageBoxA .text:00466E78 cmp eax, 1 .text:00466E7B jnz short loc_466E87
未经允许不得转载! 作者:admin,转载或复制请以超链接形式并注明出处天心神途传奇手游发布网。
原文地址:《有关如何在戴尔笔记本电脑上闪回到较低版本 BIOS 的详细教程》发布于:2024-02-25
还没有评论,来说两句吧...