EXE는 항상 COM으로 대체될 수 있나요?

EXE는 항상 COM으로 대체될 수 있나요?

시사

바이러스 백신 소프트웨어에서는 EXE 파일이 EXE 파일이기 때문에 Windows 7 시작 폴더(예: calc.exe)에 EXE 파일을 복사하는 것을 허용하지 않습니다.

그래서 이름을 COM 파일로 바꾼 다음 복사했는데 허용되었습니다(매우 전문적).

그리고 물론 - calc.com작동합니다.

그래서 (호기심으로만) 질문하게 되었습니다.

질문

COM으로 이름을 바꾸면 EXE 프로그램이 실행되지 않는 경우는 언제입니까? 내가 확인한 거의 모든 exe ​​파일이 작동했습니다.

그 이유와 그렇지 않은 이유에 대한 내부 내용을 알고 싶습니다.

답변1

이는 파일의 내부 형식과 관련이 있습니다. 원래 .com 파일은 단순한 메모리 이미지였으며 .exe 파일에는 이와 관련된 많은 헤더가 있었습니다. 결과적으로 이름을 바꿀 수 없습니다. 시간이 지남에 따라 이전 버전과 호환되도록 만들어야 했기 때문에 Microsoft는 OS가 확장자 대신 파일 형식을 확인하기 위해 파일 자체를 확인하도록 이를 변경했습니다. 결과적으로 이름이 바뀐 파일을 실행하면 Windows는 확장명을 완전히 무시합니다. 더 자세한 설명은 아래 링크를 참조하세요.

비슷한 질문

마이크로소프트 블로그 설명

관련 정보