这两天折腾 dell 笔记本(其型号是 vostro 2420),因为一些原因,把笔记本 bios 升级到了 A07,但是我又想把 bios 降级回原来的低版本时发现不行,最开始我使用的那个软件对 bios 的备份文件竟然无法恢复(因为升级的时候太想尽快搞定所以没有仔细看,可能是因为程序根本不适用该笔记本的主板型号导致的)!尝试了网上的各种刷 bios 的软件和方法(包括用 dos 下的 AFUDOS.exe 等等),全部失败,对我造成不小的挫败感和郁闷感。
我先查看了另一台相同型号的电脑的 bios 版本是 A03,因此我从 dell 官网上下载了 A03 版本的 bios 更新程序(2420A03.EXE),然而当你要更新 bios,他会提示“You are about to flash your bios to an older Bios version. Dell does not recommend flashing your Bios to an older version. Press OK button to exit.” 当你点击确定,程序就退出了,让人对此相当的气愤,dell 你这个程序凭什么自作主张呢,为什么禁止用户降级 bios?
我在尝试了所有办法均告失败后,看起来那些网上的工具在此时全部不给力(大概是因为这个笔记本型号比较新的原因使得网上工具统统不适用),我不得不考虑一个最可靠最稳妥地方法,用 Dell 官网上的 bios 更新程序刷回去(因为官网可以明确的下载到和机器型号严格匹配的 bios 更新)。很显然,因为我的bios版本已经被我刷至 A07,我想刷回的是版本更低的 A03,我知道这个程序执行到最后会弹出那个超级脑残让人绝望的提示,然后退出。因此身处绝境之中这时候唯一想法就是:修改这个程序!找到弹出这个 MessageBox 的代码然后逆转他的逻辑!这是我此时最后一根救命稻草,也是唯一的希望,如果依然失败我不得不接受这个让我郁闷的现实(那就是将就着用吧),但这最后的救命稻草终将拯救我于危难。
于是开工。启动 IDA,打开 2420A03.exe 这个程序,等待一会让 IDA 分析完毕。让我感到高兴的好消息是,这个程序没有任何的加密和自我保护。很显然它是被直接写出来的程序(从未考虑过防止有人会去修改它而采取保护手段),我又查看了这个程序的资源,感觉里面有一些对话框,仿佛这个程序是对 ALUWINGUI 程序的一种“封装”,因为里面都是一些 ALUWINGUI 程序的印记,例如对话框等等。但是我运行网上下载的 ALUWINGUI 这个程序却总是出现死机状态,所以不得把注意力继续转会到反汇编分析 2420A03.exe 这个程序上。
弹出这个 MessageBox 的代码非常容易定位,因为这个 MessageBox 的文本内容是明文放在 .rdata 的,非常容易就定位到弹出这个 MessageBox 的代码的位置,找到它们以后,继续向前追踪程序跳转的关键节点,很快就找到位于(.text)地址 00466E21 处,代码如下:
.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
怎么删除c盘的垃圾文件(电脑怎么清理c盘垃圾)
1、打开此电脑,在系统盘盘符上单击右键,选择“属性”。2、在属性界面“常规”选卡中,单击“磁盘清理”。3、等待磁盘清理工具搜索磁盘中可以清理的文件。4、在磁盘清理界面,勾选需要清理的项目,点击“清理系统文件”。5、然后点(36)人阅读时间:2024-10-05如何将页眉上的横杠去掉(如何将页眉上的横线去掉)
1、首先在页眉处双击,进入页眉页脚编辑状态。2、把页眉中所有内容全部选中。3、单击“开始”菜单选项卡,在工具栏中找到“边框”按钮,在弹出的下拉列表中选择“无边框”即可。4、单击“设计”菜单选项卡中的“关闭页眉页脚”,退出(31)人阅读时间:2024-10-05翻墙什么意思哦
1、翻墙,汉语词语,读音fan qiang,比喻人或动物等不走门,越墙出入。2、网络上的翻墙,是指通过一些软件进入外国网站。即绕过相应的IP封锁、内容过滤、域名劫持、流量限制等,实现对网络内容的访问。(31)人阅读时间:2024-10-05手机贴膜是不是真的有用 手机贴膜有用处吗
1、手机贴膜有百害而无一利。2、说液晶屏有辐射的都是生产贴膜或做贴膜生意的商家忽悠消费者。液晶屏发光是靠LED发光二极管,现在家用照明都采用的LED,其功率和亮度远远大于液晶屏所产生的光。3、贴一层膜即使所谓最好最贵的,(29)人阅读时间:2024-10-05怎么删除c盘的垃圾文件(电脑怎么清理c盘垃圾)
1、打开此电脑,在系统盘盘符上单击右键,选择“属性”。2、在属性界面“常规”选卡中,单击“磁盘清理”。3、等待磁盘清理工具搜索磁盘中可以清理的文件。4、在磁盘清理界面,勾选需要清理的项目,点击“清理系统文件”。5、然后点..2024-10-05如何将页眉上的横杠去掉(如何将页眉上的横线去掉)
1、首先在页眉处双击,进入页眉页脚编辑状态。2、把页眉中所有内容全部选中。3、单击“开始”菜单选项卡,在工具栏中找到“边框”按钮,在弹出的下拉列表中选择“无边框”即可。4、单击“设计”菜单选项卡中的“关闭页眉页脚”,退出..2024-10-05翻墙什么意思哦
1、翻墙,汉语词语,读音fan qiang,比喻人或动物等不走门,越墙出入。2、网络上的翻墙,是指通过一些软件进入外国网站。即绕过相应的IP封锁、内容过滤、域名劫持、流量限制等,实现对网络内容的访问。..2024-10-05手机贴膜是不是真的有用 手机贴膜有用处吗
1、手机贴膜有百害而无一利。2、说液晶屏有辐射的都是生产贴膜或做贴膜生意的商家忽悠消费者。液晶屏发光是靠LED发光二极管,现在家用照明都采用的LED,其功率和亮度远远大于液晶屏所产生的光。3、贴一层膜即使所谓最好最贵的,..2024-10-05