Alguém aí sabe como encontrar valores de força bruta em um deslocamento específico de um arquivo? São 4 bytes consecutivos que precisam ser brutais. Eu sei o SHA-1 correto do arquivo corrompido. Então, o que eu gostaria de fazer é comparar o arquivo completo SHA-1, sempre que ele altera o valor do byte.
Conheço exatamente os 4 bytes que foram alterados, porque o arquivo me foi fornecido por um especialista em recuperação de dados como um desafio de recuperação. Para aqueles que estão interessados em saber, o arquivo rar possui 4 bytes que foram intencionalmente alterados. Foi-me dito os deslocamentos dos 4 bytes alterados e do SHA-1 original. A pessoa disse que é IMPOSSÍVEL recuperar o arquivo exato no arquivo morto depois que os 4 bytes foram alterados. Mesmo que fosse apenas alguns bytes e você sabia exatamente onde a corrupção estava localizada. Como não possui um registro de recuperação. Estou tentando ver se existe uma maneira de preencher esses 4 bytes corretamente corretamente, para que o arquivo seja descompactado sem erros. O tamanho do arquivo é de cerca de 5 MB.
Exemplo :
Fiz upload de fotos para que fique mais claramente definido exatamente o que estou procurando fazer. Acredito que alguém possa publicá-las aqui para mim com mais rep.
O exemplo de deslocamento no 0x78
qual estou focando é onde a primeira foto mostra o valor que CA
eu quero que o script aumente o valor em 1, para que ele se torne CB
como mostrado na segunda foto. Eu quero que ele continue aumentando o valor 1
e compare o arquivo SHA-1 todo a cada vez. Apenas fazendo alterações nesses 4 bytes no deslocamento especificado.
Ele tentará CAC5C58A
comparar o SHA-1. Se não corresponder, ele tentará. CBC5C58A
Depois que o primeiro valor atingir, FF
ele irá para 00C6C58A
e assim por diante. Basicamente, eu gostaria de poder ir, 00000000-FFFFFFFF
mas também ter a opção de escolher onde você quer que comece e termine. Eu sei que isso pode levar algum tempo, mas eu ainda gostaria de tentar. Tenha em mente que eu sei o deslocamento exato dos bytes que estão corrompidos. Eu só preciso dos valores corretos.
Se você pesquisar no Google: "Como corrigir um arquivo corrompido por força bruta" Há uma pessoa que escreveu um programa Linux. No entanto, ele funciona apenas nos arquivos incluídos no programa. Estou procurando uma maneira de usar o mesmo processo com o meu arquivo.