zerando-a-senha-da-bios


Zerando (resetando) a BIOS pela Linha de comando

19.12.06 18:49:29

Fonte: http://linuxabordo.com.br/blog/index.php?blog=2

 

Dicas

 

Hoje precisei remover a senha da BIOS de um computador onde trabalho, porém o computador só tem Linux. Eu sei que no Windows(DOS) basta entrar no programa debug e executar:

 

o 70 2E

o 71 FF

 

(Este código funciona na maioria das BIOS, mas algumas placas Intel podem usar outros códigos)

 

A questão que começou a me desafiar era exatamente como fazer isso no Linux, ora eu poderia escrever um programa em C com 2 linhas de código que enviasse os valores 0x2E e 0xFF para as portas 0x70 e 0x71, mas seria um pouco fora de lógica fazer isso.

 

Procurei na Internet como fazer isso no Linux, encontrei uma thread muito interessante sobre o assunto 1. Uma das sugestões era instalar um programa chamado "cmostool" que poderia ler o conteúdo da CMOS e até mesmo recuperar a senha.

 

Interessante, mas e se o computador não tem acesso à Internet?

 

Foi então que lembrei da técnica usada para controlar os bits da porta paralela pelo terminal do Linux.

Batata!, funcionou. Então resolvi procurar na Internet para descobrir se alguém já tinha documentado a idéia, mas não encontrei nada a respeito.

 

O comando fica assim:

  # printf "x2E" | dd bs=1 seek=112 of=/dev/port
  # printf "xFF" | dd bs=1 seek=113 of=/dev/port

 

O "printf" converte o texto em hexadecimal no byte correspondente e repassa este byte para o comando dd que por sua vez escreve este byte na porta 0x70 (112) e 0x71(113).

 

1 - http://lists.samba.org/archive/linux/2001-September/000643.html