无法输入包含“!”的BIOS密码


112

昨天,我!在BIOS中添加了一个密码,其中包含。不幸的是,启动时要求输入密码的密码提示不允许您写一个!(即*未添加密码,并且告诉我输入的密码错误)。

因此,我搜索了如何删除该密码,并偶然发现了上一个问题

所以我有3个选择:

  • 奇迹般地找到一种进入 !

  • 在华硕找到可以给我救援密码的人

  • 打开计算机,卸下可以为主板供电的所有部件,并希望它可以删除密码或将日期重置为可识别应急密码的日期。

  • 以某种方式使用上一个问题中链接的一长串代码对生成代码的算法进行逆向工程,并使用它来生成今天的代码

欢迎任何一个方向的帮助。


关于寻找一种方法来写的!,我的电脑有一个QWERTY键盘那么!Shift + 1。我也尝试使用编写它,Caps Lock但是没有用。由于我的键盘最初是AZERTY,因此我对其进行了更改,因此我也尝试将其用作AZERTY或插入USB AZERTY键盘,但是这两种键盘都被视为QWERTY键盘(或者至少作为加了小*s 的键完全相同的键盘)就像在QWERTY键盘上一样)。

我也尝试(按照答案中的建议)使用ASCII代码33!Alt由于添加了两个*s,因此它似乎被忽略了。

因此,朝这个方向解决的方案似乎不太可能。


关于在ASUS找人的问题,我尝试通过电话在法国和北美的聊天中寻求客户支持。两者都告诉我,我必须将其发送到维修中心,并且由于它与BIOS有关,因此属于保修范围之外的维修。而且他们要么不知道救援代码的存在,要么甚至不允许他们提及救援代码的存在。

我还试图向华硕Twitter供稿。我得到的答案告诉我直接与客户支持联系,而华硕法国的一个答复则告诉我登录Windows并将日期更改为具有救援密码的特定日期。不幸的是,每次启动时都会提示我输入密码,这样我就无法进入Windows。

我还向发现的每个客户支持部门发送了电子邮件,但到目前为止,我没有收到任何其他答复。


我可以打开计算机,但已经做过一次,可以更换键盘。但是我真的不希望再搞一些我不了解的事情。另外,我什至不确定它会重设密码还是日期。这就是我的不得已的解决方案。


我无法识别救援密码序列中的任何模式。

这是我到目前为止的内容(顶行是字符,左列是字符串中显示的索引的索引):

          0     1     2     4     9     A     B     C     D     H     L     O
    0   237   246   106   109   106  1243   575   109   215   105   355   244
    1   220   215    95   100   125  1265   575   120   245   140   310   240
    2   200   240   120   120   120  1201   620   110   280   110   299   230
    3   230   190   130   130   140  1240   561   110   209   100   370   240
    4   280   210   120   110   100  1170   620   100   240   100   340   260
    5   120   360     0     0    60  1171   949    60   120   240   480    90
    6   240     0   111     0     0  1260   720     0   600     0   719     0
    7   190   240   120     0   120  1079   941   120   480     0   360     0
Total  1717  1701   802   569   771  9629  5561   729  2389   795  3233  1304

其他尝试:

潜在相关信息:

  • 这是大约一年前购买的ASUS RoG G751JY

  • 我做了Windows的全新安装(因此没有更多的恢复分区)

而已。在此先感谢您的帮助。


我真的建议做答案@Prasanna说这篇文章中可能有一些选择,但是最后,如果您不想花很多时间尝试其他事情,而您知道可以重新设置并解决问题的话。
NetworkKingPin

2
您是否尝试过一些奇怪的可能性,例如输入1而不是还是右Shift左侧的?(在我的键盘中是-,在美国键盘中是/,在此AZERTY中
玛格丽特·布鲁姆

1
不,只是*s。我确实清楚地记得它拒绝了其他非字母数字字符,并且我只保留了!它,因为它是唯一一个*出现了的
字符

3
@ ja72,就在前几天,我花了一点锡纸桥接妈妈最近使用的Acer Aspire Laptop上的两个易于访问的跳线,以便重置CMOS并清除密码。工作了请客。
支出者2016年

1
在我买的一本上网本上,前任所有者忘记了BIOS设置和启动密码(由于它没用,所以以惊人的价格购买了它),我可以通过低级的BIOS救援来删除密码。这是一个Gateway / Acer品牌的上网本。我还进行了测试,可以确认从DOS完全刷新BIOS / EFI将删除BIOS设置密码。(完整的闪存比典型的BIOS更新闪存要多,并且更危险一些,因为BIOS引导块在闪存过程中将处于易受攻击的状态。)
Hydranix

Answers:


116

经过验证的选项
我一直成功地通过卸下CMOS电池来重置BIOS。我建议先断开笔记本电脑的电源,然后再卸下CMOS电池。BIOS电池看起来像这样,它可以跟踪时间和BIOS内容。
在此处输入图片说明

等待几分钟。此操作将重置BIOS的内容,并使您无需输入任何密码即可输入。

如果您需要有关如何打开笔记本电脑的说明,可以在此处观看YouTube视频


21
@ xavierm02它不仅会重置日期,还会将BIOS重置为出厂默认设置,从而重置密码。
Nzall '16

7
@NateKerkhofs哦。我以为我在新计算机上读过某个地方,密码有时存储在无法重置的地方……
xavierm02 '16

10
我也有一个印象,即密码和BIOS现在存储在闪存中,而不是电池提供的内存中,专门用于提高安全性。再一次,我很惊讶它会接受您无法输入的密码,因此我倾向于认为您输入了错误的内容。
keshlam '16

2
当然应该将其删除。我从未听说过或看到BIOS在其设置实用程序中具有这种功能。
Ruslan

9
许多基于UEFI的现代系统确实将配置存储在EFI变量中,这些变量存储在Flash中,而在卸下CMOS电池时不会重置该变量。
乔纳森·莱因哈特

155

(不是标题中所述问题的答案,而是解决潜在问题的一种方法)。

我想我(主要是)对从过去的密码列表中生成应急密码的算法进行了反向工程。不幸的是,我没有华硕主板,所以我无法验证它是否可以正确预测新密码,但是在已知密码的日期运行以下发布的代码段始终可以得出正确的结果。如果您尝试一下,但对您却行不通,请告诉我。

仅仅通过以各种方式查看给定的数据(例如,通过制作每月固定日期的密码表),就可以看到一些模式。

如果我们在密码中这样标记字母:01234567,那么很容易看到字母6和7是由月份中的唯一决定的(因此完全独立于月份或年份)。对于字母7,只需将月份中从零开始的日期用作字符串的索引AAAABLDDBB0LB211C9BAAAAABLDDBB0。同样,字母6是字符串LBAL0AL0ADLADLADLADBADBABBAB2AA

对于字母5,也很容易看出,除了月份中的某天,月份的奇偶性(即除以2的余数)也很重要。对于奇数月,必须使用参考字符串BADBOA01AAH1ABBALLBABLBAH1ADL1A,对于偶数月而言A0CAABALBBALBBAH1ABH1ABLABL9ABO

字母2、3和4非常相似,每个月只需要使用一个不同的查找表(即,每个字母都有十二个查找表)。

字母1还考虑了年份的平价。因此,这里有24个总查询表,奇数年12个,偶数年12个。实际上,这些查询表中的许多表都以相同的顺序包含相同的字母,它们只是从该顺序的不同点开始。我猜这表明存在一些我尚未设法弄清楚的潜在模式。

字母0有点复杂,我还不能完全确定模式。看来,这取决于年份和月份,4个基本序列(一OLLAA1AOADBA4CALAD2AH9ABAB1A0BB0)被选中,并通过一些具体的量旋转。但是,似乎2002-2009年的模式与2010年和2011年的模式不同(实际上,2010年的行为与2008年相同,2011年的行为与2009年相同),因此很难预测此序列将如何继续。

相反,由于到此为止,我们已经确定了8个字母中的7个,而且最后一个字母似乎只有12种可能,因此可以尝试强行使用密码。如果您按频率在前面提到的4个序列中按顺序尝试丢失的字母,那么两次尝试后,您应该已经有50%的机会获得正确的密码。

以下是Javascript的一个片段,该片段在运行时要求您输入日期,并显示该日期的12种可能的密码(按可能性排序)。对于今天的日期(2016年2月28日),这会给你X0BLB9BD,与X正在之一ABLOD10942CH

(function() {
    let today = new Date();
    let date = prompt("Enter a date", today.toISOString().substring(0, 10));
    let tables = [
        [["AAAABLDDBB0LB211C9BAAAAABLDDBB0"]],
        [["LBAL0AL0ADLADLADLADBADBABBAB2AA"]],
        [["BADBOA01AAH1ABBALLBABLBAH1ADL1A", "A0CAABALBBALBBAH1ABH1ABLABL9ABO"]],
        [["A49BLA0ODBLA0OD1ALAOD2ALABCA0OA", "BCA0AHBL20A4BLBAOADLBA0AD1ABA", "1ABAA9BLAAACBLA0OD2LAHBD2ALABL2", "ALAB1A0AHB1A0A4BLBAA49BBA0AD1L", "0AD1ABAA91ALAACBLAHACA0AHBD2AAH", "BD2AOAB1AAOAB1A0A491ABA49BBA0A", "BBA0OD1AB0OD1ALAACAALABCA0AHB1A", "0AHBL2AOABLBAOAB1ABOAD1ABA49BAB", "A49BLA0ODBLA0OD1ALAOD2ALABCA0O", "0AHBL2AOABLBAOAB1ABOAD1ABA49BAB", "A49BLA0ODBLA0OD1ALAOD2ALABCA0O", "BCA0AHBL20A4BLBAOADLBA0AD1ABAOD"]],
        [["DA1HABBDAA24ABBLA244A9LLABAA99O", "9LLA2AA9LLBABAACOBAALBACOAALB", "BACOBALBAA10AALDA100AO0DA1HAOOB", "O0DA1HAO00DA1HABBDAA24ABBLA244", "4ABBDA24AA9LLA2AA9LLBABAACOBAAL", "ABAA9OBABBBACOBALBAA10AALDA100", "0AALBA10AAO0DA1HAO00DA1HABBDAA2", "A1HAOBDA114ABBDA24AA9LLA2AA9LLB", "LLA24A9LLLABAA9OBABBBACOBALBAA", "LA24A9LLAABAA9LBABAAACOBALBACC0", "COBABBACOOAALBA10AAA0DA10AO0DD", "DA10AO0DAA1HAO0DA1HHABBDA24ABBL"]],
        [["LA24ABBDAA1HAO0DA1H0AALBA10AAAB", "1HAOBDA1H0AALDA10AAABAACOBABA", "AO0DA10AAALBACOBABAAA9LLA24ABBB", "LBACOBABAAA9LLA24ABBBDA1HAO0DD", "A9LLA24A9BBDA1HAOBDDA10AA0DA1CO", "BDA14ABBDDA10AO0DA1COBALBACOBL", "A1HAO0DA110AALBACOBBABAA9LLA224", "0AALBACOBBABAA9LLA224ABBDA1HAAO", "ABAA9LLAB24ABBDA14AAO0DA1HAO0L", "AO0DA10AAALBACOBABAAA9LLA24ABBB", "LBACOBABBAA9LLA24A9BBDA1HABBDD", "A9LLABAA9BBDA24ABBDDA1HAO0DA1CO"]],
        [["BL4AA20BAAAA2HBA1LDBHBA1ODA90A1", "ODA9BBAOBACBDAOL4AADABLAAA20B", "AA2HBA1LDBHAA1ODA9BA1OLACBBAOLA", "CBDABL4AADABLAAA2HB0AAABHBA1OO", "HAA1ODA9BA10LACBDAOLACLDABLAALD", "AB0AAA2HB0BAABHAA1OOB4AA1OLACA", "10LACBDABBACLDABLAALDA90AAABH90", "BAOBHAA1OOB4AA10LACAA20LACLDA0B", "A1LDAB0AALDA90BAABH9BBAOB4AA1A", "OLA9BBAOLACBDABL4AADABLAAA2HB0A", "AA2HBA1ODBHAA1ODA9BA1OLACBDAOL", "CBDABLAAADAB0AAA2HB0AAABHAA1OOB"], ["BAABHAA1OOB4AA1OLACAA10LACLDA0B", "ACLDAB0AALDA90AAABH90BAOB4AA", "L4AA10LACAA20LACLDAHBA1LDAB0A1O", "DA90BAABH9BBAOB4AA1AOL4AA10LAA", "A20BACLDAHBA1LDA90A1ODA90BAOBAC", "BBAOB4AA1ABL4AA20LAAAA2HBA1LDB", "BA1ODA90B1ODA9BBAOBACBDAOL4AADA", "BLAAA20BAAAA2HBA1LDBHAA1ODA90A1", "OLA9BBAOBACBDABL4AADABLAAA20B0", "A1LDAB0AALDA90BAABH9BBAOB4AA1AO", "L4AA10LACAA20BACLDAHBA1LDA90A1", "DA90BAOBH9BBAOB4AA1AOL4AA20LAAA"]]
    ];

    let match = date.match(/^(\d{4})-(\d{2})-(\d{2})/);
    if (!match) {
        alert("Invalid date: " + date);
        return;
    }

    let [_, y, m, d] = match.map((a,b) => +a)

    let pass = "";
    for (let i = 6; i >= 0; --i) {
        let letters_map = tables[i];
        let year_map = letters_map[y % letters_map.length];
        let month_map = year_map[(m - 1) % year_map.length];
        pass += month_map[d - 1];
    }

    let final_letters = "ABLOD10942CH";

    let output = []
    for (let x = 0; final_letters[x]; ++x)
        output.push(final_letters[x] + pass);

    alert(output.join("\n"));
})();

8
棒极了。我可以确认第五个密码确实有效。(但是我确实必须解决一些括号不匹配的问题,添加"use strict"并用一系列let替换let array-let)
xavierm02 '16

40
@ xavierm02:对于偷电脑的人来说,仅卸下BIOS电池的解决方案就容易多了。
乔伊,

11
@ xavierm02:感谢您的确认和对JS问题的歉意-将片段粘贴到Firefox浏览器控制台中后,它应该可以正常工作。我还必须同意Joey的观点,如果某人可以物理访问计算机,则BIOS密码之类的原始保护不会阻止他们使用该计算机。
tmnt

2
@ xavierm02如果他花了一天的时间来制定算法,那么它的主要作用就是拥有如此简单的救援密码,从而使整个事情从一开始就变得不安全。如果华硕阅读了此书,则应提示他们将这种愚蠢的后门取出。
JamesRyan

28
实际上,这是非常了不起的,您设法弄清楚了这一点。
Shotgun Ninja

31

好吧,我又让它工作了。

我打开了背面的插槽,您可以在其中看到硬盘驱动器和一些记忆棒。在记忆棒旁边,有两个标记为JRST2001和JRST2002的小东西。我首先尝试将一个连接到另一个,然后我的计算机甚至无法启动,唯一亮起的是键盘旁边的LED。因此,我然后尝试连接JRST2001的两个“边”(通过它的某种方式)和JRST2002的两个边。然后,它将救援密码为1BLDABLA的日期重置为2009-01-01。请注意,当您输入应急密码时,计算机将死机,您必须手动重新启动。然后,由于它没有明显原因一直进入BIOS中,因此我开始随机更改设置,直到它起作用为止。显然,良好的设置是我需要启用的CSM。


记录下来,这是我从华硕(重点是我)得到的答案:

(我不确定是应该在我的问题中还是在我的答案中,但是我认为人们不想滚动整个内容来回答问题,所以我将其放在此处)

您好亲爱的泽维尔,

感谢您与我们的华硕支持联系。

根据您的要求,对于型号为G751JY的计算机,我知道您无法输入“!”。通过Bios密码,而您想要获得救援密码

泽维尔先生,首先,我非常遗憾地通知你,BIOS密码,只能在我们的车间被粉碎,这一点,不幸的是,有回报您的计算机的保修

因此,要让您的计算机由ASUS专家进行诊断和维修,非常感谢您完成以下链接中的删除表格:

https://eu-rma.asus.com/pick_eu/fr/

单击产品类型<<笔记本>>以完成所有必填字段。

我邀请您尽可能准确地描述“问题描述”课程,以便我们的技术人员能够最好地检测和修复产品故障。

要验证您的选择表,必须填写所有必填字段,并且您必须检查“提供的保证协议”。

我强烈建议您单击超链接以访问Asus保修条件,并仔细阅读它们,尤其是第2.2.3节。

一旦您的申请被批准,您将收到一封电子邮件,其中包含您的退货协议编号,超出保修范围和拆卸说明(包装说明和售后服务的一般条件)。

您应该已经告知了手机号码。您将自动收到有关每个阶段的维修状态的信息。

要跟踪修复状态,您可以选中“我同意接收有关修复文件夹状态的SMS信息”框。

在我们的服务中收到产品后,技术人员将对故障进行诊断并向您发送维修估计

然后,您就可以直接与希望继续或不希望维修产品的车间进行交流。

如果出现拒绝报价的情况,我告知您,诊断费和运输费用将由您承担。(〜€75)

泽维尔先生,如果您有任何其他疑问,我随时请您处理,祝您愉快。


10
您正在描述我相信用于重置BIOS的跳线
Prasanna

69
另外,您通常不希望尝试将金属物体在主板上随机连接在一起。首先获取手册,找出可以安全修改的内容,否则不仅复位BIOS,而且油炸主板。
isanae '16

30
在没有丝毫线索的情况下随意加入电子组件(更不用说它们做什么)并不是世界上最聪明的主意。也许不理会电子设备,直到可以超越一切“东西”为止!!
Lightness Races in Orbit

13
将来,此类内容将出现在手册中,非常值得一读。而且,如果您将+和-短路的任何一种(我要添加的)电压接头经常彼此短路,那可能是不好的。
Journeyman Geek

35
“我开始随机更改设置”,这正是导致发布另一个SuperUser问题的一种方式:“救命,我的计算机无法再次使用!”
David Richerby '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.