문제

ZIP 파일이 다음 바이트로 시작한다는 것을 읽었습니다.

50 4B 03 04

참조: http://www.garykessler.net/library/file_sigs.html

질문:ZIP 파일이 비밀번호로 보호되었음을 나타내는 특정 바이트 시퀀스가 ​​있습니까?

도움이 되었습니까?

해결책

ZIP 파일이 다음으로 시작해야 한다는 것은 사실이 아닙니다.

50 4B 03 04

항목 zip 파일 내에서 다음으로 시작 50 4B 03 04... ..그리고 종종 순수 zip 파일은 파일의 첫 번째 항목으로 zip 항목으로 시작됩니다.그러나 zip 파일이 해당 바이트로 시작해야 한다는 요구 사항은 없습니다.해당 바이트로 시작하는 모든 파일은 아마 zip 파일이지만 모든 zip 파일이 해당 바이트로 시작하는 것은 아닙니다.

예를 들어 PE-COFF 파일, 일반 EXE인 자동 추출 아카이브를 생성할 수 있습니다. ~이다 파일에 대한 서명입니다. 4D 5A ....그런 다음 나중에 exe 파일에서 다음으로 시작하는 zip 항목을 저장할 수 있습니다. 50 4B 03 04....파일은 .exe와 .zip 둘 다입니다.

자동 추출 아카이브는 다음으로 시작하지 않는 유일한 zip 파일 클래스가 아닙니다. 50 4B 03 04 .이런 방식으로 zip 파일의 임의 데이터를 "숨길" 수 있습니다.WinZip 및 기타 도구는 이러한 방식으로 형식이 지정된 zip 파일을 읽는 데 아무런 문제가 없습니다.

당신이 발견하면 50 4B 03 04 파일 시작 부분이나 다른 위치에서 파일 내의 서명을 사용하면 다음 몇 바이트를 보고 특정 항목이 암호화되었는지 확인할 수 있습니다.일반적으로 다음과 같습니다.

50 4B 03 04 14 00 01 00 08 00 ... 

처음 4바이트는 항목 서명입니다.다음 2바이트는 "추출에 필요한 버전"입니다.이 경우에는 0x0014, 즉 20입니다.pkware 사양에 따르면 항목을 추출하려면 pkzip 사양 버전 2.0이 필요함을 의미합니다.(항목에 사용된 최신 zip "기능"은 사양 v2.0에 설명되어 있습니다.)zip 파일에 고급 기능이 사용되면 더 높은 숫자를 찾을 수 있습니다.AES 암호화에는 v5.1 사양이 필요하므로 해당 헤더에서 0x0033을 찾아야 합니다.(모든 zip 도구가 이를 존중하는 것은 아닙니다).

다음 2바이트는 범용 비트 플래그를 나타냅니다. 사양에서는 이를 "비트 플래그"라고 부릅니다. 비트 필드), 이 경우에는 0x0001입니다.여기에는 항목이 암호화되었음을 나타내는 비트 0이 설정되어 있습니다.

해당 비트 플래그의 다른 비트에는 의미가 있으며 설정될 수도 있습니다.예를 들어 비트 6은 강력한 암호화(AES 또는 기타 더 강력한 암호화)가 사용되었음을 나타냅니다.비트 11은 해당 항목이 파일 이름과 주석에 UTF-8 인코딩을 사용함을 나타냅니다.

이 모든 정보는 다음에서 확인할 수 있습니다. PKWare AppNote.txt 사양.

다른 팁

비밀번호로 보호되는 zip 아카이브 내의 기본 파일입니다.일련의 비밀번호로 보호된 파일과 비밀번호로 보호되지 않은 파일을 아카이브에 보관할 수 있습니다(예:readme 파일을 확인한 다음 내용을 확인하세요).

참조하는 URL에서 ZIP 파일을 설명하는 링크를 따라가면 다음을 찾을 수 있습니다. 이 하나 ZIP 아카이브의 파일이 암호화되었는지 여부를 나타내는 비트에 대해 설명합니다.아카이브의 각 파일은 독립적으로 암호화될 수도 있고 그렇지 않을 수도 있는 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top