題 無法輸入包含“!”的BIOS密碼


昨天,我添加了一個包含的密碼 ! 到我的BIOS。不幸的是,啟動時要求輸入密碼的密碼提示不允許你寫一個 ! (即小 * 沒有添加,它告訴我這是錯誤的密碼)。

所以我用谷歌搜索瞭如何刪除密碼並偶然發現 這個上一個問題

所以我有3個選擇:

  • 奇蹟般地找到了進入的方法 !

  • 在華碩找一個可以給我救援密碼的人

  • 打開電腦,移除所有可以為主板供電的東西,並希望它刪除密碼或將日期重置為已知救援密碼的日期

  • 不知何故用 很長的代碼列表 聯繫在一起 上一個問題 對生成代碼的算法進行反向工程,並使用它來生成今天的代碼

歡迎任何方向的任何幫助。


關於尋找寫作方式 !,我的電腦有一個QWERTY鍵盤 ! 是 Shift + 1。我也嘗試用它來寫它 Caps Lock 但它不起作用。由於我的鍵盤最初是AZERTY並且我更改了它,我也嘗試將它用作AZERTY或插入USB AZERTY鍵盤,但兩者都被認為是QWERTY鍵盤(或者至少作為鍵盤,其中鍵添加少量 *s與QWERTY鍵盤完全相同)。

我也試過(如答案中的建議)使用ASCII碼 33 對於 ! 但 Alt 看起來它被忽略了,因為它增加了兩個 *秒。

因此,這方面的解決方案似乎不太可能。


關於在華碩找人,我通過電話和在北美的聊天嘗試了法國的客戶支持。兩人都告訴我,我必須將它發送到維修中心,這將是一個超出保修期的維修,因為它涉及BIOS。而且要么他們不知道救援代碼存在,要么他們不被允許甚至提及它的存在。

我還試圖向華碩推特提問。我得到了答案,告訴我直接聯繫客戶支持 來自華碩法國的一個回答告訴我登錄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

其他事情嘗試:

  • 我嘗試按照建議輸入3個錯誤的密碼 這一頁 聯繫在一起 上一個問題 但它沒有給我一個代碼,而是被困在了 Invalid Password

潛在相關信息:

  • 這是大約一年前購買的華碩RoG G751JY

  • 我做了全新的Windows安裝(因此沒有更多的恢復分區)

而已。在此先感謝您的幫助。


112
2018-02-27 09:42


起源


我真的推薦做答案@Prasanna表示可能有一些選擇 文章 但最後如果你不想花很長時間嘗試不同的事情,當你知道你可以重置它並完成它。 - NetworkKingPin
你有沒有嘗試過像進入這樣奇怪的可能性 1 代替 ! 或右邊左邊的鍵 轉移? (在我的鍵盤上它是一個 - ,在美國鍵盤是一個 /在這 AZERTY 它是一個 !) - Margaret Bloom
不,只是 *秒。我確實清楚地記得它拒絕了其他非字母數字字符,我只保留了 ! 因為它是唯一一個製造了 * 出現... - xavierm02
@ ja72,就在前幾天我拿了一點錫紙來連接我母親最近的Acer Aspire筆記本電腦上的兩個易於訪問的跳線,以便重置CMOS並清除密碼。做了一個享受。 - spender
在我購買的上網本上,之前的所有者已經忘記了BIOS設置和啟動密碼(因為它沒用而得到了一個驚人的交易)我能夠通過執行低級別的bios救援來刪除密碼。這是Gateway / Acer品牌的上網本。我還測試並確認從DOS完全刷新BIOS / EFI將刪除BIOS設置密碼。 (完全閃存比典型的BIOS更新閃爍更多,並且由於BIOS引導塊在閃爍過程中將處於易受攻擊的狀態,因此更加危險。) - Hydranix


答案:


經證實的選擇
通過取下CMOS電池,我一直成功地重置了BIOS。我建議取下筆記本電腦的電源,然後取下CMOS電池。 BIOS電池看起來像這樣,它記錄時間和BIOS內容。
enter image description here

等幾分鐘。此操作將重置BIOS的內容,並允許您輸入而無需任何密碼。

如果您需要有關如何打開筆記本電腦的說明,可以查看YouTube視頻 這裡


116
2018-02-27 10:31



@ xavierm02它不會只重置日期,它還會將BIOS重置為出廠默認值,從而重置密碼。 - Nzall
@NateKerkhofs哦。我以為我曾經讀過某些地方,在新電腦中,密碼有時存放在某個不會被重置的地方...... - xavierm02
我也有這樣的印象:密碼和BIOS現在存儲在閃存盤中,而不是電池提供的內存,專門用於提高安全性。然後,我很驚訝它會接受你無法輸入的密碼,所以我傾向於認為你錯誤的輸入了什麼。 - keshlam
當然應該刪除它。我從來沒有聽說過或看過BIOS在其設置實用程序中具有此類功能。 - Ruslan
許多基於UEFI的現代系統確實將配置存儲在EFI變量中,這些變量存儲在閃存中,在移除CMOS電池時不會重置。 - Jonathon Reinhart


(不是標題中所述問題的答案,而是解決潛在問題的一種方法)。

我想我(大部分)設法對從過去密碼列表中生成救援密碼的算法進行逆向工程。不幸的是,我沒有華碩主板,所以我無法驗證這是否正確預測了新密碼,但是在知道密碼的日期運行下面發布的代碼段始終會給出正確的結果。如果您試一試,它對您有效或無效,請告訴我。

只需以各種方式查看給定數據(例如,通過在一個月的固定日期製作密碼表),就可以看到一些模式出現。

如果我們在密碼中標記字母,如下所示: 01234567,那麼很容易看出字母6和7是由月份的日期唯一確定的(因此完全獨立於月份或年份)。對於字母7,只需使用月中從零開始的日期作為字符串的索引 AAAABLDDBB0LB211C9BAAAAABLDDBB0。同樣,對於字母6,它是字符串 LBAL0AL0ADLADLADLADBADBABBAB2AA

對於第5個字母,也很容易看出,除了月份之外,月份的平價(即除以2的餘數)也很重要。奇數月,必須使用參考字符串 BADBOA01AAH1ABBALLBABLBAH1ADL1A,連續幾個月都是 A0CAABALBBALBBAH1ABH1ABLABL9ABO

字母2,3和4非常相似,每個月只需要使用不同的查找表(即這些字母中的每一個都有12個查找表)。

字母1也考慮了年度的平價。因此,這裡有一個總共24個查找表,12個用於奇數年,12個用於偶數年。其中許多查找表實際上包含相同序列中的相同字母,它們只是從該序列中的不同點開始。我想這表明我還沒有完全找到一些潛在的模式。

字母0有點複雜,我還沒有完全確定一個模式。似乎取決於月份和年份,4個基本序列之一(OLLAA1AOADBA4CALAD2AH9ABAB1A0BB0)被選中並旋轉一定的特定量。然而,似乎2002 - 2009年的情況與2010年和2011年的情況不同(實際上,2010年顯示的行為與2008年相同,2011年與2009年相同),因此很難預測這種情況如何繼續。

相反,由於此時我們已經確定了8個字母中的7個,並且最終字母似乎只有12種可能性,人們可能只是試圖強制密碼。如果您在前面提到的4個序列中系統地按頻率嘗試丟失的字母,那麼在嘗試2次後您應該有50%的機會獲得正確的密碼。

下面是一段Javascript,當運行時會要求您提供日期並顯示該日期的12個可能密碼,按可能性排序。對於今天的日期(2016-02-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"));
})();

154
2018-02-28 01:27



棒極了。我可以確認第5個密碼確實有效。 (但我確實必須修復一些括號不匹配,添加 "use strict" 並通過一系列let替換let array-let - xavierm02
@ xavierm02:對於偷電腦的人來說,簡單地移除BIOS電池的解決方案是最容易的。 - Joey
@ xavierm02:感謝您對JS問題的確認和抱歉 - 在將其粘貼到Firefox瀏覽器控制台時,剪切應該可以正常工作。此外,我必須同意Joey,如果某人有物理訪問機器,像BIOS密碼這樣的原始保護不會阻止他們使用機器。 - tmnt
@ xavierm02如果他花了一天的時間來計算算法,那麼它顯示的主要內容就是擁有如此簡單的救援密碼會讓整個事情變得不安全。如果華碩讀到這個,它應該提示他們把這樣一個愚蠢的後門拿出來。 - JamesRyan
實際上,這是非常了不起的,你設法弄清楚了這個。 - Shotgun Ninja


好吧,我讓它再次運作。

我打開後面的插槽,你可以看到硬盤和一些記憶棒。記憶棒旁邊有兩個標有JRST2001和JRST2002的小東西。我首先嘗試將一個連接到另一個,然後我的計算機甚至不啟動,唯一點亮的是鍵盤旁邊的LED。所以我接著嘗試連接JRST2001的兩個“側面”(有一些線路通過它)和JRST2002相同。然後將日期重置為2009-01-01,其救援密碼為1BLDABLA。請注意,當您輸入救援密碼時,計算機會凍結,您必須手動重新啟動。然後,由於它沒有明顯的原因繼續引導到BIOS中,我開始隨機更改設置,直到它工作。顯然,良好的設置是我需要啟用的CSM。


為了記錄,這是我從華碩得到的答案(強調我的):

(我不確定這是否應該在我的問題或我的答案中,但我想人們不想滾動整個事情來回答,所以我把它放在這裡)

親愛的澤維爾,你好,

感謝您聯繫我們的華碩支持。

根據您的要求,對於G751JY型號的電腦, 一世   明白 你無法輸入“!”傳遞Bios密碼   和 你想擁有救援密碼

Xavier先生,首先, 我很遺憾地通知你   BIOS密碼只能在我們的工作室中粉碎, 還有這個,   不幸的是,有了 退回計算機的保修期

因此,要讓您的計算機返回華碩診斷和研討會   專家,謝謝你從以下完成刪除表格   鏈接:

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

單擊產品類型<< Notebook >>以完成所有必需的操作   領域。

我邀請您盡可能準確地描述“問題”課程   描述“以便我們的技術人員能夠檢測和修復   最好的產品故障。

要驗證您的選擇表單,必須填寫所有必填字段   必須檢查“提供的保證協議”。

我強烈建議您單擊超鏈接以訪問華碩   保修條件並仔細閱讀,特別是第2.2.3節。

一旦您的申請獲得批准,您將收到我們的電子郵件   您的退貨協議編號超出保修範圍和說明   拆除(包裝說明和一般條件)   售後服務) 。

你應該通知一個手機號碼。你會自動的   接收有關每個階段修復狀態的信息。

要跟踪修復狀態,您可以選中“我同意接收”框   有關我的修復文件夾狀態的SMS信息'。

一旦我們的服務收到產品, 技術人員會做一個   診斷失敗並將向您發送維修估算

然後您就可以直接與研討會溝通了   希望繼續或不修復您的產品。

在拒絕報價的情況下,我通知您診斷費用和   運費是您的責任。 (〜€75)

如果有任何其他問題,我仍然隨時待命,Xavier先生   祝你有個美好的一天。


31
2018-02-27 14:58



您正在描述用於重置BIOS的跳線我相信 - Prasanna
此外,您通常不想嘗試在主板上隨機連接金屬物品。首先獲取手冊並找出可以安全修改的內容,否則您最終不僅會重置BIOS,還會煎炸電路板。 - isanae
隨意加入電子元件,不知道它們是什麼(更不用說它們做什麼)並不是世界上最聰明的想法。也許只留下電子產品,直到你可以超越所謂的“東西”! - Lightness Races in Orbit
將來,這種事情將出現在手冊中,並且非常值得一讀。如果你把任何類型的+和 - 電壓頭短接,我添加的它們通常彼此相鄰,這可能是壞的。 - Journeyman Geek♦
“我開始隨意更改設置”這正是導致發布另一個超級用戶問題的事情:“幫助我,我的電腦再次無法運行!” - David Richerby