位置: IT常识 - 正文

Dell笔记本刷回低版本bios的方法详细教程(dell笔记本如何恢复系统)

编辑:rootadmin
推荐整理分享Dell笔记本刷回低版本bios的方法详细教程(dell笔记本如何恢复系统),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:戴尔笔记本刷机,dell笔记本刷系统,dell笔记本重刷bios,dell笔记本刷机按哪个键,dell笔记本刷机按哪个键,戴尔笔记本电脑怎么刷机恢复到以前的状态,dell笔记本重刷bios,dell笔记本重刷bios,内容如对您有帮助,希望把文章链接给更多的朋友!

  这两天折腾 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

  大概浏览一下这个函数,发现第11行代码:“jnb loc_466EF0” 就是关键分支点,如果 var_10C < var_204 ,他就会弹出我们最后见到的那个 MessageBox,否则他就会跳转到附近的 00466EF0 位置去正常的刷 bios。所以这里只要把 jnb 改成 jb,程序就会完全以相反逻辑运行(把正在刷低版本 bios 当成刷高版本)。

  为了修改汇编代码,还需要参考 intel 的官方文档:《64 ia 32 architectures software developer manual 325462》。对照文档可以指导我们如何修改指令。

  在 IDA 中显示 jnb loc_466EF0 指令对应的是 6 个字节:“0F 83 C9 00 00 00”,对照文档的介绍可知,前两个字节"0F 83" 是 JNB 的操作码(Opcode),后面四个字节“C9 00 00 00” 代表地址偏移量是 0xC9 (201)个字节(即: if not below, then EIP = EIP + 0xC9)。

  接下来就是修改这条跳转指令,有多种方法(以下操作码中的操作数均为相对值,即偏移量):

  (1)把 JNB 改成 JB(操作码:0F 82)。只有待刷版本低于当前版本才刷。

  (2)把 JNB 改成 JNZ (操作码:0F 85)。只要待刷版本和当前版本不同就刷。

  (3)把 JNB 改成 JMP(操作码:E9)。无条件刷。(因为 JMP 操作码只有一个字节,所以需要补一个 NOP ),有可能还需要修改一个版本相等的跳转,我没有认真细看了。

  这里我采用的是(1)。把该 exe 用 16 进制编辑器例如 UltraEdit 打开,IDA中的是进程空间中的逻辑地址,把 ImageBase 减掉就成为文件地址,而 Exe 的默认 ImageBase 是 00400000,所以 00466E21 转换到文件地址是 00066E21,跳转到 00066E20 这一行,把从第二个字节开始的 6 个字节(0F 83 C9 00 00 00)修改成 (0F 82 C9 00 00 00),实际上我们只是修改了一个字节(文件地址为 00066E22 的那个字节从 0x83 改为 0x82),这样原来的 JNB 指令就变成了 JB 指令。

  修改以后,运行修改后的 exe 程序,那个烦人的 MessageBox 如预期的没有出现,而是出现了系统正在关机的提示(有希望了!),然后系统自动重启,激动人心的时刻到了,终于看到进入正在刷新 bios 的提示(如下图所示),大约1~2分钟,bios 刷新完成,然后经过再次进入 bios 简单检查版本信息,已经回到 A03 版本一切正常!!!

  至此,刷回低版本 bios 就完成了。如果要刷其他版本的 bios 我估计这里是差不多的,一旦遇到这种版本问题导致的不让你刷,就可以对这个文件进行修改。好在这些 bios 升级程序并没有对这种修改设置任何障碍,因此只要具有一点汇编知识,借助工具就可以很容易的修改掉这个逻辑。最后额外吐槽一下,dell 的这个不合理的逻辑,自由权应该交给用户决定!同时,众所周知,刷 bios 被形容为具有风险的事情,我的个人意见时,一定要谨慎,如果不是特殊需要(例如为了激活 win7 以上系统)和有成功的把握,就尽量不要去刷 bios。最后关于激活 win7 再额外说一点,目前几乎所有软破解方法和网上流传的 key 已经全部失效,而只剩下最后一条路,就是从 bios 上入手(也就是不管用软件还是硬刷 bios,使 bios 中具有 SLIC 2.1 版本),模拟成大的笔记本 oem 厂商的产品,这样 windows 就只能放行,因为尽管这种用手段激活的“盗版”用户数量很多,但是因为它们混杂在数量更加庞大的正版 oem 产品之中,而目前 windows 的认证技术还不足以能识别,所以这种“盗版”几乎肯定是安全的。

【补充】BiosFix 程序下载链接:

Dell笔记本刷回低版本bios的方法详细教程(dell笔记本如何恢复系统)

  BiosFix(刷Bios程序辅助工具) 免费绿色版

  说明:该程序是我写的一个命令行程序。因为 Bios 程序需要做的改动很小(目前只需调整一条指令的机器码,只涉及 1~2 个字节),有了这个程序,我只需要提供 Fix 信息,有用户自己完成 Fix,而不再需要我上传较大的 Fixed 结果,这样就可以节省网络传输流量和存储空间。附件中包含程序,配置文件,和程序的源代码,以及使用说明。

  用法:

  命令行格式: BiosFix.EXE "XXXX.EXE"

例如输入: BiosFix.EXE "D:\M8888A03.EXE"

  输出文件是: "D:\M8888A03_Fixed.EXE"

  如果直接双击文件打开,则程序会提示用户手工输入 Bios 程序路径,这时首尾不需要加双引号。例如,在 cmd.exe 中可以看到程序产生如下输出:

  >BiosFix

  Input the source bios file[XXX.exe] to fix:

  >E:\Bios_Fix\5437A00.EXE

  ImageBase: 00400000H

  NumberOfSections: 4

  ----------------[FixNo: 01]-----------------

  VA: 004693B1H

  FA: 00068DB1H

  Overwrite 2 Bytes (JNB->JNZ);

  ----------------[Fix Completed!]-----------------

  The Fixed File is:

  E:\Bios_Fix\5437A00_Fixed.EXE

  以上就是Dell笔记本刷回低版本bios的方法详细教程,更多教程内容请继续关注电脑学习网网站!

本文链接地址:https://www.jiuchutong.com/zhishi/267328.html 转载请保留说明!

上一篇:mac和ipad如何互传文件呢?MAC传文件到IPAD方法介绍(macbook怎么和ipad)

下一篇:如何在Windows10中自动切换到最强WiFi(如何在Windows10中打开命令提示符?)

  • 荣耀x30怎么调出返回键(荣耀x30怎么调出虚拟按键)

    荣耀x30怎么调出返回键(荣耀x30怎么调出虚拟按键)

  • 荣耀30pro和荣耀30s的区别有哪些地方(荣耀30pro和荣耀30s哪个好)

    荣耀30pro和荣耀30s的区别有哪些地方(荣耀30pro和荣耀30s哪个好)

  • 闲鱼怎么跳过实人认证(闲鱼怎么跳过实人认证卖东西)

    闲鱼怎么跳过实人认证(闲鱼怎么跳过实人认证卖东西)

  • vivo手机型号在哪里查(vivo手机最新款是什么型号)

    vivo手机型号在哪里查(vivo手机最新款是什么型号)

  • 华为手机怎样在直播间里截屏(华为手机怎样在电视上投屏)

    华为手机怎样在直播间里截屏(华为手机怎样在电视上投屏)

  • oppo a52手机上市时间(oppoa52手机上市时间)

    oppo a52手机上市时间(oppoa52手机上市时间)

  • iphone11单卡和双卡的区别(iphone11单卡和双卡)

    iphone11单卡和双卡的区别(iphone11单卡和双卡)

  • qsv格式用什么播放(qsv格式用什么播放器 手机)

    qsv格式用什么播放(qsv格式用什么播放器 手机)

  • qq密保手机号怎么解除(qq密保手机号怎么查看)

    qq密保手机号怎么解除(qq密保手机号怎么查看)

  • 电脑微信怎么静音(电脑微信静音怎么设置)

    电脑微信怎么静音(电脑微信静音怎么设置)

  • 投屏能投字幕的方法(投屏能投字幕的app)

    投屏能投字幕的方法(投屏能投字幕的app)

  • xr相机怎么调九宫格(iphonexr相机九宫格怎么设置)

    xr相机怎么调九宫格(iphonexr相机九宫格怎么设置)

  • 美图手机充不进电怎么办(美图手机充不进去电是怎么回事)

    美图手机充不进电怎么办(美图手机充不进去电是怎么回事)

  • vivoy71怎么解决卡顿(vivoy71a手机)

    vivoy71怎么解决卡顿(vivoy71a手机)

  • 小米手机音量自动变小(小米手机音量自己跳最大)

    小米手机音量自动变小(小米手机音量自己跳最大)

  • 为什么趣步认证老是失败(趣步为什么要改名字)

    为什么趣步认证老是失败(趣步为什么要改名字)

  • 电脑改写键是哪个(键盘上的改写键)

    电脑改写键是哪个(键盘上的改写键)

  • word无法链接到前一条页眉(word无法链接到endnote)

    word无法链接到前一条页眉(word无法链接到endnote)

  • 苹果手机系统13.1.2如何查找朋友(苹果手机系统13.6.1新功能)

    苹果手机系统13.1.2如何查找朋友(苹果手机系统13.6.1新功能)

  • 微信加密码怎么设置(微信加密码怎么改密码)

    微信加密码怎么设置(微信加密码怎么改密码)

  • 在拼多多收货有货号吗(拼多多收货有价格吗)

    在拼多多收货有货号吗(拼多多收货有价格吗)

  • 立刷注册了可以注销吗(立刷注册过还能注册吗)

    立刷注册了可以注销吗(立刷注册过还能注册吗)

  • 快手土豪榜单在哪里看(快手土豪榜单在哪里看到)

    快手土豪榜单在哪里看(快手土豪榜单在哪里看到)

  • 抖音怎么让原音变声(抖音怎么原音加自己的声音)

    抖音怎么让原音变声(抖音怎么原音加自己的声音)

  • 抖音大头娃娃怎么制作(抖音大头娃娃怎么赶走)

    抖音大头娃娃怎么制作(抖音大头娃娃怎么赶走)

  • VM10虚拟机下安装mini版CentOS 6.4的图文方法(vmware10虚拟机安装)

    VM10虚拟机下安装mini版CentOS 6.4的图文方法(vmware10虚拟机安装)

  • Python中的defaultdict函数(Python中的关键字)

    Python中的defaultdict函数(Python中的关键字)

  • 2023年印花税税率口诀
  • 工伤保险应该计入什么科目
  • 税盘减免主表不显示减免怎么填
  • 免费赠送货物出租合同
  • 员工出差的住宿费计入什么科目
  • 残保金上年在职工资总额
  • 购买固定资产没付款怎么入账
  • 以下属于财政收入的形式有
  • 三证合一之后还有税务登记证吗
  • 增值税电子发票怎么作废
  • 官司赔偿费用需要发票吗
  • 出租车发票日期可以改吗
  • 年底开发票需要交企业所得税吗?
  • 未达起征点销售额和小微企业免税销售额
  • 税款滞纳金如何免除
  • 物业公司停车费怎么开票
  • 审计调整分录如何处理
  • 职工福利费支出计入什么科目
  • 床垫增值税税率是多少
  • win10怎么看电脑名称
  • 鸿蒙3.0系统哪些手机可以升级
  • 土地增值税清算方法与技巧
  • 标准差怎么算 例题
  • 培训机构开办资金
  • 木制家具出口流程
  • 货物发生非正常损失为什么要做j进项转出
  • 日出时的麦克拱岩,俄勒冈南海岸 (© Dennis Frates/Alamy)
  • linux编译安装php扩展命令
  • 浅谈php中类和对象的区别
  • 配置多数据源的好处
  • php注册功能的实现
  • 租房开的发票收的税怎么做账?
  • Nat Biotechnol –精准 CRISPR-Cas噬菌体疗法将为重症感染患者带来福音
  • 最优化理论pdf
  • vue生命周期图解
  • php实现支付宝支付
  • 出口退税率和进项税额
  • python打印矩形方阵
  • 以非现金资产清偿债务的,债权人应当
  • 应收票据包括哪些项目内容
  • 用友t6模块
  • 母公司为子公司提供担保是利好吗
  • 房地产企业开发的已出租的房屋属于投资性房地产吗
  • 营业外收入汇算清缴时也得计入收入
  • 车险代买的出了事故怎么办
  • 备用金怎么计入明细账
  • 模具报价成本核算方法
  • 各大银行网银转账限额
  • 租地青苗补偿问题
  • 重分类调整分录是什么
  • 合并两公司的帐务处理
  • 融资租入固定资产计提折旧吗
  • 餐饮行业的原材料怎么做账
  • 发票被认证
  • 哪些税费计入管理费用
  • 会计基础知识必背100题
  • sql you
  • amd furyx
  • linux将文件a.txt更名为b.txt
  • freebsd怎么样
  • win7与xp文件共享
  • elf.exe是什么程序
  • linux find命令查找文件 name
  • centos7安装软件包命令
  • w10简易版
  • linux系统有哪几个
  • opengl绘制点线面
  • js 浏览器全屏
  • js模块化开发教程
  • android基础入门
  • shell可以多线程吗
  • python2与python3的区别
  • js实现瀑布流效果
  • Unity3D游戏开发引擎
  • js使用正则表达式对json对象的校验
  • Jquery和BigFileUpload实现大文件上传及进度条显示
  • jquery中each()方法的作用及使用
  • 基层税务所工作现状
  • 株洲购房契税减半流程查询
  • 计提缴纳城建税分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设