
내 컴퓨터에서 오래된 .rar 파일을 찾았지만 비밀번호가 정확히 기억나지 않습니다. 나는 그것이 무엇인지 대략적으로 알고 있었기 때문에 C#에서 7ziplib를 사용하여 여러 순열을 무차별 대입하는 프로그램을 작성했습니다.
수천 후에 일치하는 항목을 찾았습니다. 찾은 비밀번호를 사용하여 7zip에서 파일을 열면 열리지만 파일이 표시되지 않습니다. Winrar에서 열려고 하면 손상된 아카이브 또는 잘못된 비밀번호라는 메시지가 나타납니다.
7ziplib은 압축되지 않은 파일 크기를 -1로 보고합니다.
비밀번호가 비슷하지만 동일하지 않은 동일한 폴더의 다른 zip에 대해 동일한 무차별 대입 프로그램을 실행했는데 동일한 동작이 나타납니다.
같은 폴더에 비밀번호로 보호되지 않은 다른 rar 파일이 있는데 잘 열립니다.
이에 대한 알고리즘 설명이 있습니까? 비밀번호 확인의 한 단계를 통과했지만 다른 단계는 통과하지 못한 비밀번호를 찾았을 수 있습니까? 아니면 아카이브가 손상되었나요?
도움이 되는 경우 형식은 Rar4로 보고됩니다. Google에서는 AES-128을 사용한다고 말하지만 Wikipedia에서는 버전 2.9에서 5로 점프하기 때문에 종료되지 않는다고 말합니다.
답변1
내가 아는 한, RAR은 파일과 아카이브 헤더 모두의 모든 체크섬 값에 대해 32비트 CRC 값을 사용합니다. 따라서 무차별 대입 암호를 사용하면 디코딩된 헤더 데이터(및 후속 파일 데이터)가 쓰레기임에도 불구하고 헤더 체크섬이 일치할 확률이 2^32분의 1(~40억분의 1)입니다. 암호 해독 키가 실제로 올바르지 않습니다. 내 경험에 따르면 무차별 대입 RAR이 이를 확인하는 것 같습니다.
이에 대한 알고리즘 설명이 있습니까? 비밀번호 확인의 한 단계를 통과했지만 다른 단계는 통과하지 못한 비밀번호를 찾았을 수 있습니까?
거의 그런 일이 일어났습니다.