2013-05-09 1 views
-3

현재 파일 (바이너리, ZIP 또는 EXE 등)이 손상되었는지 프로그래밍 방식으로 결정할 수 있습니까? Windows가 바이너리 파일이 불완전하다고 어떻게 결정합니까?어떻게 바이너리 파일이 Delphi 7에서 손상되지 않았는지 확인할 수 있습니까?

나를 올바른 방향으로 인도 할 수 있습니까? 내가 특별히 찾고 있어요 는 : & EXE에게

감사

+0

Windows에서 파일이 불완전한 것으로 판단하는 경우에 익숙하지 않습니다. 이 질문에 어떤 내용이나 문맥을 제공해 주실 수 있습니까? –

+0

@RobKennedy : 일부 EXE (불완전한 것)를 설치하려고하면 설치가 실패합니다. 그리고 깨진 아카이브 파일이 열리면 winrar 프로그램은 "Broken"를 보여줍니다. 그들은 어떻게 그것을 성취합니까? – CyprUS

+0

키프로스, 나는 당신이 논평하는 토론을 읽고, 당신의 실제 질문은 것처럼 보입니다 : "이진 파일이 손상되지 않았는지 내 프로그램에서 어떻게 결정할 수 있습니까?" 그렇다면 질문을 편집하고 확인할 바이너리 파일 *을 포함하십시오. –

답변

7

ZIP 파일 (뿐만 아니라 다른 많은 아카이브 형식) 파일의 무결성을 검사 할 수있는 검사 (예를 들어, CRC32)를 포함를 ZIP. PE 헤더 (.exe 파일 용)에는 일부 검사를 수행 할 수있는 파일 섹션의 크기가 포함되어 있습니다.

일반적으로 이진 파일의 무결성을 확인하는 방법은 없지만 파일에 대한 추가 정보가 없으면 (파일 자체에서 빌드 할 수 있음). CRC32 코드와 MD5 또는 SHA1 해시는 파일이 손상되었는지 여부를 확인하는 데 자주 사용됩니다.

+0

좋아, 각 파일에 포함 된 CRC32가 서버에 포함되어 있다고 말하는 것입니까? 그러나 CRC32는 각 개별 파일에 대해 존재합니다. 전체 파일에 대해 어떻게해야합니까? – CyprUS

+1

죄송합니다. 질문을 이해하지 못했습니다. 각 파일을 자체 체크섬 (파일 당 하나의 체크섬)으로 보호합니다. 파일의 여러 부분에 자체 체크섬이있는 응용 프로그램이 있지만 (이 부분을 개별적으로 액세스하고 필요한 부분 만 확인할 수 있습니다). 한 무리의 파일에 대한 공통 체크섬을 상상할 수 있지만 이는 편리하지는 않습니다. 체크섬을 저장할 위치는 보호 된 파일 (머리글 또는 바닥 글)에 직접 체크섬을 통합하거나 체크섬이있는 파일을 별도로 보관할 수 있습니다. – Inspired

+3

그건 키프로스가 전혀 의미하지 않습니다. 나는 당신이 말하는 "서버"가 무엇인지 모른다. 일부 파일 형식에는 파일의 체크섬이 포함됩니다. 파일의 체크섬을 계산하고 저장된 값과 비교하십시오. 일치하면 파일이 정상입니다. 그렇지 않으면 파일에 문제가 있습니다. –

관련 문제