É um problema grande esquecer a senha de um arquivo compactado. E outro problema é achar um programa eficiente que consiga descobrir qual foi a senha usada. Caso você esteja passando por essas dificuldades siga o que é descrito nessa publicação, talvez isso possa ajudar. Mostrarei como utilizar o "cRARk", um programa gratuito desenvolvido com o objetivo de descompactar arquivos bloqueados com senhas e que estejam no formato ".rar".
LINUXO "cRARk" é um programa sem interface amigável. Tudo é feito por linha de comando, mas não se preocupe, pois simplifiquei as explicações e os comandos ao máximo para que qualquer um consiga entender.
Basta ler com atenção essa publicação e seguir as orientações. Serei bastante prolixo e isso é proposital. Meu objetivo é ajudar até mesmo quem acabou de migrar para o Linux. Para a maioria dessas pessoas o que mais assusta são situações em que elas têm que usar comandos no Terminal.
A primeira coisa que iremos fazer é criar uma pasta onde faremos o download do programa. Digite os comandos abaixo no Terminal do seu Linux. Aqui estarei demonstrando a utilização do "cRARk" no Ubuntu.
Para arquivos .rar:
mkdir crark
cd crark
O primeiro comando cria a pasta e o segundo acessa a pasta criada. Se você abrir a sua pasta de usuário agora, irá encontrá-las lá.
Temos que fazer o download do "cRARk". Darei 3 opções. A primeira por linha de comando, a segunda através da página do desenvolvedor e a terceira pelo "4shared". Se decidir fazer o download pela segunda ou terceira opção, deverá então copiar o arquivo baixado para a pasta criada. Escolha o método que melhor lhe convier. Aconselho a usar a primeira opção por ser a mais prática.
1ª opção para arquivos .rar:
Copie e cole no terminal a linha de comando abaixo:
wget http://www.crark.net/download/crark34-linux.rar
2ª opção para arquivos .rar:
Link para página de download no site oficial
3ª opção para arquivos .rar:
Link para download alternativo da versão utilizada na publicação
Na imagem abaixo está a demonstração do resultado do comando para a primeira opção.
Escolhida uma da opções acima e com o arquivo já dentro da pasta criada na etapa anterior iremos então ao passo seguinte.
Precisaremos instalar outro programa que dê ao sistema suporte a descompactação de arquivos ".rar", pois o "cRARk" será baixado nesse formato e precisará ser descompactado.
Copie e cole o comando abaixo no Terminal para instalar o suporte a arquivos ".rar". Será solicitada a senha de Root do seu sistema para prosseguir na instalação.
sudo apt-get install rar
Ao terminar a instalação você verá algo parecido com o que é mostrado na imagem abaixo:
Finalmente poderemos descompactar o "cRARk".
Execute o comando abaixo para descompactar o programa.
rar x crark34-linux.rar
Aqui acontece algo que é no mínimo irônico. No decorrer da descompactação, é solicitada uma senha. Veja na imagem abaixo:
Não preocupe-se com isso, apenas pressione enter e o processo irá concluir com 1 erro. Esse erro não irá interferir em nada no que vamos fazer.
Nós precisaremos ajustar algumas configurações do "cRARk". Comece executando o comando abaixo:
cp crackme.def password.def
Esse comando cria uma cópia do arquivo "crackme.def" que está na pasta do programa e já a renomeia para "password.def".
Nesse arquivo "password.def" é que nós definiremos os parâmetros para que o programa tente desvendar a senha usada. O "cRARk" não vem pré-configurado.
Vamos precisar editá-lo e você pode ir diretamente na pasta e abrir o arquivo ou fazer tudo pelo Terminal mesmo. Demonstrarei como fazer pelo Terminal por questão de praticidade.
Digite o comando abaixo:
nano password.def
Isso fará o arquivo "password.def" ser aberto dentro do Terminal e assim poderemos editá-lo. Você verá algo como mostrado na imagem abaixo.
Apague a última linha desse arquivo e substitua pelo que está abaixo.
[$1 $a $A] *
Ficando assim:
Pressione as teclas "CTRL+O" para gravar a alteração, tecle "Enter" para confirmar e depois pressione "CTRL+X" para sair da edição do "password.def".
Nesse ponto eu terei que dar algumas explicações sobre as alterações que foram realizadas no arquivos "password.def".
Cada caractere que é colocado após o "$" determina o tipo de busca que o "cRARk" irá realizar para tentar descobrir a senha. Isso porque utilizaremos o método de "força bruta", que consiste em tentar várias combinações de caracteres até que em dado momento a sequência correta de caracteres é testada fazendo assim com que a senha seja descoberta. Esse é um método muito demorado, mas é o mais eficiente ao nosso caso. Veja o que significa cada um:
$1 = Determina que o programa realize busca por senhas que contenham números.
$a = Determina que o programa realize busca por senhas que contenham letras minúsculas.
$A = Determina que o programa realize busca por senhas que contenham letras maiúsculas.
Você pode determinar por exemplo, que o programa busque somente por senhas com números. Para isso você deixaria o arquivo "password.def" com a seguinte alteração:
[$1] *
Ou então, determinar por buscas somente utilizando números e letras minúsculas:
[$1 $a] *
Você deve ajustar da maneira que achar melhor, mas se você não sabe qual utilizar, apenas utilize a combinação dos três.
Se você sabe que a senha só possui números, não há porque utilizar opções que irão testar senhas que também possem letras. Isso só iria fazer com que o processo de descoberta da senha demore ainda mais.
Esse é um dos fatores que irão influenciar no tempo que o "cRARk" irá levar para descobrir a senha.
Outros fatores envolvem a performance da sua máquina e também o tamanho e variedade de caracteres utilizados na senha. Por ser um processo de "força bruta" não espere por resultados rápidos como os vistos em filmes. Dependendo da forma com a senha foi criada é possível levar de alguns segundos até mesmo alguns meses para a quebra.
Outra opção que pode ser usada é a que busca por caracteres especiais. Mas é bastante incomum quem utilize esses tipos de caracteres na elaboração de suas senhas. Se quiser adicionar esse parâmetro na busca por senha acrescente "$!" no arquivo "password.def", mas aviso que isso irá aumentar bastante o tempo da pesquisa. No entanto, é recomentado utilizar a combinação das quatro opções quando não se lembra qual foi o tipo de senha utilizada. É preferível prolongar o tempo da pesquisa do que ficar esperando por um processo demorado e que não gerará resultado algum. Nesse caso, o seu arquivo "password.def" deveria ser modificado para ficar como mostrado abaixo:
[$1 $a $A $!] *
Caso você queira se aprofundar mais nos comandos é só acessar o manual do desenvolvedor.
Após ter feito todos os ajustes é hora de executar o programa e deixar que ele faça o trabalho pesado. Mas antes coloque o arquivo compactado ao qual se quer descobrir a senha dentro da pasta do programa. A pasta foi criada dentro da sua "Pasta pessoal".
Para iniciar o processo de busca da senha em arquivos ".rar" digite o comando abaixo:
./crark arquivo_com_senha.rar
Em "arquivo_com_senha" você digitará o nome do seu arquivo, obviamente. No meu caso por exemplo, o nome do arquivo era "Teste", ficando o comando assim:
./crark Teste.rar
Exemplo na imagem abaixo:
Ao final do processo, o programa exibirá a senha. Procure por algo que esteja antes de " - CRC OK" dentro das linhas do Terminal.
A senha encontrada no meu arquivo de teste foi "1Ab".
Se você tiver um pouco mais de facilidade com informática, vá ao site do desenvolvedor e baixe uma versão atualizada para esse programa e que seja compatível com a sua GPU. Existem versões desse programa que trabalham melhor com GPU's da AMD e outra que trabalham melhor com GPU's da Nvidia. Isso irá acelerar bastante o processo de descobrimento da senha do arquivo.
O objetivo dessa publicação é ajudar a quem precisa recuperar a senha esquecida de um arquivo compactado importante. Não é um incentivo para que isso seja feito em um arquivo ao qual não se tem propriedade.
É isso aí e até a próxima. ;-)