Senha ZIP longa: o dicionário certo também pode falhar
O John PKZIP 1.9.0-jumbo-1 testado achou 31 caracteres, mas não candidatos corretos de 32, 51, 52 e 127. Todas as amostras foram descriptografadas independentemente: a falha pode ser da ferramenta.
A resposta já estava no dicionário
Criamos cinco ZIP tradicionais ZipCrypto com texto fictício idêntico e senhas ASCII públicas de 31, 32, 51, 52 e 127 caracteres. Não usamos arquivos, senhas ou pistas de clientes.
Cada lista continha um valor errado e a senha exata, com sessão e potfile separados e vazios. John 1.9.0-jumbo-1 cygwin 64-bit x86_64 AVX2 AC OMP foi o build usado. Python leu cada original completo e conferiu conteúdo e CRC, excluindo erro no arquivo ou na senha declarada.
Resultados e limites da conclusão
As informações locais do formato indicaram limite ASCII de 31 caracteres neste build; a documentação Openwall discute o mesmo tipo de limite. Não atribuímos isso a todo John, ZIP AES ou ao formato ZIP inteiro.
O limite é da rota de recuperação. A amostra com 127 caracteres é válida porque a senha conhecida permite ler todo seu conteúdo original. Uma tentativa negativa do módulo não invalida essa evidência.
| Comprimento da senha | Candidato correto fornecido | Encontrado pelo John PKZIP | Validação completa do original |
|---|---|---|---|
| 31 | Sim | Sim | Aprovado |
| 32 | Sim | Não | Aprovado |
| 51 | Sim | Não | Aprovado |
| 52 | Sim | Não | Aprovado |
| 127 | Sim | Não | Aprovado |
Cabeçalho não confirma recuperação
O pequeno campo de verificação ZipCrypto permite filtrar candidatos, mas coincidências acidentais são possíveis. Nosso filtro longo encontrou os cinco controles; ainda exigimos descriptografar membros completos e conferir conteúdo e CRC.
O filtro precisa respeitar as flags ZIP: a flag de descritor de dados altera a origem do byte de conferência. Um controle com resposta conhecida é mais confiável que presumir correto um filtro próprio.
Verifique antes de ampliar a busca
Confirme formato, criptografia, comprimento e codificação suportados. Crie controle público de comprimento equivalente, inclua a senha exata e use armazenamento de resultados vazio. Valide lendo o original; se o controle falhar, investigue a configuração antes de avaliar uma lista maior.
ASCII não comprova Unicode. O teste não define limites universais do WinRAR ou 7-Zip, não mede ZIP AES e não garante toda senha longa. Mostra como um limite pode invalidar uma conclusão negativa.
Baixe controles e implementação
As senhas exatas e SHA-256 estão no relatório JSON. Não reutilize as senhas públicas em arquivos reais. As cinco amostras e o código de filtragem permitem inspecionar a metodologia.
O código é apenas um filtro, não substitui descriptografia completa. A matriz inclui controle positivo e falhas esperadas do módulo antigo identificado; não é ranking de produtos.
Fontes e verificações
Escopo e independência editorial
Também oferecemos recuperação. Os testes usam apenas amostras fictícias próprias, nunca arquivos de clientes. As medições descrevem o ambiente e a data publicados; não representam taxa geral de sucesso, posição em buscadores ou garantia.