Não é possível digitar a senha do BIOS contendo “!”

112

Ontem, adicionei uma senha contendo um ! ao meu BIOS. Infelizmente, o prompt de senha que solicita a senha quando você inicializa não permite que você escreva um ! (ou seja, o pouco * não é adicionado e ele me diz que é a senha errada).

Então, pesquisei como remover essa senha e deparei com esta pergunta anterior .

Então eu tenho 3 opções:

  • Encontre milagrosamente uma maneira de inserir um !

  • Encontre alguém na ASUS que possa me fornecer a senha de resgate

  • Abra o computador, remova tudo o que possa fornecer energia à placa-mãe e espere que ela remova a senha ou redefina a data para uma data para a qual a senha de resgate seja conhecida

  • De alguma forma, use a longa lista de códigos ligados em a pergunta anterior para fazer engenharia reversa do algoritmo que gera o código e usá-lo para gerar o código para hoje

Qualquer ajuda em qualquer direção é bem-vinda.

Sobre como encontrar uma maneira de gravar o ! , meu computador tem um teclado QWERTY, então ! é Shift + 1 . Eu também tentei escrever usando Caps Lock mas não funcionou. Como meu teclado era originalmente AZERTY e eu mudei, também tentei usá-lo como AZERTY ou conectar um teclado AZERTY USB, mas ambos foram considerados como teclados QWERTY (ou pelo menos como teclados onde as teclas que adicionam pouco * s são exatamente o mesmo que nos teclados QWERTY).

Eu também tentei (como sugerido em uma resposta) usar o código ASCII 33 para ! , mas Alt parece ignorado, pois adiciona dois * s.

Portanto, uma solução nessa direção parece improvável.

Sobre encontrar alguém na ASUS, experimentei o suporte ao cliente na França por telefone e na América do Norte pelo bate-papo. Ambos me disseram que eu tinha que enviá-lo para um centro de reparos e que seria um reparo fora da garantia porque dizia respeito à BIOS. E ou eles não sabiam que o código de resgate existia ou não podiam sequer mencionar sua existência.

Eu também tentei perguntar aos feeds do Twitter da ASUS. Recebi respostas dizendo-me para entrar em contato diretamente com o suporte ao cliente e uma resposta da ASUS França dizendo-me para entrar no Windows e alterar a data para uma data específica para o qual eles tinham a senha de resgate . Infelizmente, a senha é solicitada sempre que eu inicializo, por isso não consigo entrar no Windows.

Também enviei e-mails para todos os itens de atendimento ao cliente que encontrei, mas até o momento não recebi outra resposta.

Eu poderia abrir o computador e já fiz isso uma vez para substituir o teclado. Mas eu realmente prefiro não mexer com coisas que não entendo novamente. Além disso, nem tenho certeza de que redefinirá a senha ou a data. Então essa é a minha última solução de resort.

Eu não consegui reconhecer nenhum padrão na sequência de senhas de resgate.

Aqui está o que eu tenho até agora (top line é caractere, coluna da esquerda é indice em qual índice aparece na string):

          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

Outras coisas tentadas:

  • Tentei inserir três senhas incorretas, conforme sugerido em esta página vinculada em a pergunta anterior mas ao invés de me dar um código, ele fica preso em Invalid Password .

Informação potencialmente relevante:

  • É um ASUS RoG G751JY comprado há cerca de um ano

  • Eu fiz uma nova instalação do Windows (então não há mais partição de recuperação)

É isso. Agradecemos antecipadamente por sua ajuda.

    
por xavierm02 27.02.2016 / 10:42

3 respostas

116

Opção comprovada
Eu sempre fui bem sucedido em redefinir o BIOS, removendo a bateria do CMOS. Eu recomendaria remover a energia para o laptop e, em seguida, remova a bateria do CMOS. A bateria do BIOS é assim e acompanha o tempo e o conteúdo do BIOS.

Aguarde alguns minutos. Esta ação irá redefinir o conteúdo do BIOS e permitirá que você entre sem nenhuma senha.

Se precisar de instruções sobre como abrir seu laptop, veja o vídeo do YouTube aqui

    
por 27.02.2016 / 11:31
154

(Não é uma resposta para a pergunta como indicado no título, mas uma maneira de resolver o problema subjacente, no entanto).

Acho que consegui (principalmente) fazer engenharia reversa do algoritmo que gera a senha de resgate na lista de senhas antigas. Infelizmente, não possuo uma placa ASUS, por isso não posso verificar se isso prevê corretamente novas senhas, no entanto, a execução do snippet postado abaixo nas datas em que a senha é conhecida sempre fornece o resultado correto. Se você tentar e isso funcionar ou não para você, me avise.

Apenas analisando os dados fornecidos de várias maneiras (por exemplo, criando uma tabela de senhas para um dia fixo do mês), pode-se ver alguns padrões surgindo.

Se rotularmos as letras da senha da seguinte forma: 01234567 , é fácil ver que as letras 6 e 7 são determinadas exclusivamente pelo dia do mês (e, portanto, são completamente independentes do mês ou ano). Para a letra 7, simplesmente use o dia do mês com base em zero como índice na string AAAABLDDBB0LB211C9BAAAAABLDDBB0 . Da mesma forma, para a letra 6, é a string LBAL0AL0ADLADLADLADBADBABBAB2AA .

Para a letra 5, também é fácil ver que, além do dia do mês, a paridade do mês (isto é, o restante quando dividido por dois) também é importante. Para meses ímpares, é necessário usar a string de referência BADBOA01AAH1ABBALLBABLBAH1ADL1A , para meses pares é A0CAABALBBALBBAH1ABH1ABLABL9ABO .

As letras 2, 3 e 4 são muito semelhantes, basta usar uma tabela de pesquisa diferente para cada mês (ou seja, cada uma dessas letras tem doze tabelas de pesquisa).

A carta 1 também leva em conta a paridade do ano. Então aqui temos 24 tabelas de pesquisa total, 12 para anos ímpares e 12 para anos pares. Muitas dessas tabelas de consulta contêm as mesmas letras na mesma sequência, elas começam em um ponto diferente daquela sequência. Eu acho que isso indica que há algum padrão subjacente que eu ainda não consegui descobrir.

A letra 0 é um pouco mais complexa e ainda não consegui determinar completamente um padrão. Parece que, dependendo do mês e ano, uma das quatro seqüências fundamentais ( OLLAA1AO , ADBA4CAL , AD2AH9AB , AB1A0BB0 ) é selecionada e rotacionada por uma quantidade específica. No entanto, parece também que os anos 2002-2009 seguem um padrão diferente de 2010 e 2011 (de fato, 2010 mostra o mesmo comportamento de 2008, e 2011 como 2009), então é muito difícil prever como essa seqüência continua de qualquer maneira. / p>

Em vez disso, como neste momento já temos 7 de 8 letras determinadas, e parece haver apenas 12 possibilidades para a carta final, poderíamos apenas tentar forçar a senha. Se você tentar sistematicamente a letra ausente por frequência nas 4 sequências mencionadas anteriormente, você já deve ter 50% de chance de obter a senha correta após 2 tentativas.

Abaixo está um trecho de Javascript que, quando executado, solicita uma data e mostra as 12 senhas possíveis para essa data, classificadas por probabilidade. Para a data de hoje (2016-02-28), isso forneceria X0BLB9BD , com X sendo um dos 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"));
})();
    
por 28.02.2016 / 02:27
31

Tudo bem, consegui que funcionasse novamente.

Eu abri o slot na parte de trás, onde você pode ver o disco rígido e alguns cartões de memória. Ao lado dos cartões de memória, há duas pequenas coisas chamadas JRST2001 e JRST2002. Primeiro tentei conectar um ao outro, e depois o meu computador nem ligou, a única coisa que acendeu foram os leds próximos ao teclado. Então eu tentei conectar os dois "lados" do JRST2001 (há algum tipo de linha passando por ele) e o mesmo para o JRST2002. Em seguida, reconfigure a data para 2009-01-01 para a qual a senha de resgate é 1BLDABLA. Observe que, quando você digita a senha de resgate, o computador congela e você precisa reinicializar manualmente. Então, como ele continuava a entrar no BIOS sem nenhuma razão aparente, comecei a alterar as configurações aleatoriamente até funcionar. E aparentemente a boa configuração foi o CSM que eu precisava para habilitar.

Para registro, aqui está a resposta que recebi da ASUS (ênfase minha):

(Eu não tinha certeza se isso deveria ir na minha pergunta ou na minha resposta, mas eu achei que as pessoas não iriam querer ler a coisa toda para responder, então eu coloco aqui)

Hello Dear Xavier,

Thank you for contacting our ASUS Support.

Following your request, for the computer whos model is G751JY, i understand that you are unable to enter "!" to pass the Bios password and you want to have the rescue password.

Mister Xavier, first of all, i am very sorry to inform you that the BIOS password can be crushed only in our workshops, and this, unfortunately, with a return out of warranty of your computer.

Therefore, to return your computer to diagnose and workshop by ASUS expert, thank you kindly complete the removal form from the following link:

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

Click on the type of product << Notebook >> to complete all required fields.

I invite you to describe as accurately as possible the course "Problem description" so that our technicians can detect and repair the malfunction best of your product.

To validate your pick form, all required fields must be filled and you must check the "Guarantee Agreement provided."

I highly recommend you to click the hyperlink to access the Asus warranty conditions and read them carefully, especially Section 2.2.3.

Once your application is approved, you will receive from us an email with your return agreement number out of warranty and instructions for removal (packing instructions and the general conditions of the After-Sales Service) .

You should have informed a mobile phone number. You will automatically receive information about the status of your repair for each stage.

To track the repair status you can check the box 'I agree to receive SMS information on the status of my repair folder'.

Once the product is received in our service, technicians will make a diagnosis of the failure and will send you a repair estimate.

Then you have the ability to communicate directly to the workshop you wish to continue or not to repair your product.

In case of refusal quote I inform you that the diagnostic fee and the shipping cost will be your responsibility. (~ € 75)

I remain at your disposal, Mr. Xavier, for any additional questions and I wish you a good day.

    
por 27.02.2016 / 15:58