3-2.1) 분할 압축 파일
1. 주요 분할 압축 파일
가장 최근 25년 상반기에도 출제된 것으로 보이며 앞으로도 언제든 출제 수 있는 분할 압축파일 유형을 분석해보도록 하겠습니다. 다만 무조건 이렇게 출제 되는건 아니나 이런식으로 분석할 수 있다는 것을 알고 있어야 하며 주요 분할 압축 유형을 살펴보겠습니다.
압축 형식에 따라서 압축 프로그램이 다를 수 있습니다. 아래를 참고해서 필요한 것을 설치하면 되며, 분석 연습만을 위해선 반디집만 설치합니다.
분할 압축 해제용 프로그램 다운로드
반디집 : zip, 7z, egg 모두 압축해제 가능 / egg 압축 불가 > https://kr.bandisoft.com/bandizip/ >> 분석 연습만을 위해선 반디집만 설치
분할 압축 연습용 다운로드 후 압축을 해제하여 활용하시길 바랍니다.
2-1) ZIP
zip 구조를 모르면 시험에서 당황할 수 있는 여지가 있어 꼭 한번 실습 및 고민을 해보시길 권장합니다! (알면 맞추고 모르면 풀기 어려운 구조일 수 있습니다.)
먼저 zip 파일 구조를 살펴보도록 하겠습니다. zip 폴더에서 test.z01 파일을 먼저 보도록 하겠습니다. 맨 처음에 50 4B (PK)~~ 로 시작하는 압축파일 시그니처를 가지고 있습니다. 또한 50 4B(PK) 값이 한번 더 보이네요! 그리고 밑에 파일명에 해당하는 test.jpg도 보이네요!

test.z02, test.z03, test.zip 도 동일하게 열여보면 시그니처 같아 보이는건 전혀 발견되지 않고 어떠한 패턴처럼 보이는 데이터가 전혀 없습니다.

다만 test.zip 맨 마지막 부분을 보면 PK 시그니처 값이 2번 더 보이고 파일명스러운 것도 발견됩니다.

그리고 용량을 한번 살펴보겠습니다. zip 부분이 가장 용량이 작은거 같네요! 정리해보겠습니다. z01 : 시그니처 50 4B(PK) ~~ 시작 하는 시그니처를 가짐 z02, z03 : 시그니처 발견할 수 없는 데이터를 가짐 zip : 시그니처는 없으나 마지막에 50 4B(PK) , 파일명 정보 데이터가 있고 용량이 작음

하나 테스트를 해보겠습니다. hxd 에서 파일을 새로 만든 뒤에 z01~z04 그리고 마지막zip 순서대로 모든 데이터를 순서대로 복사 붙여넣기하여 하나의 파일로 합쳐보도록 하겠습니다. 그렇다면 맨 처음에는 50 4B로 시작하는 하나의 파일이 만들어지고 확장자를 zip 로 설정하여 저장한 뒤 압축을 해제하면 정상 압축 해제가 되는 것입니다.


[중요] 정리하면 z01 파일이 가장 처음이고 시그니처로 필요하고 맨 마지막에 zip 파일이 순서대로 합쳐져야 정상 압축 해제가 되는 것입니다. 그렇다면 한번 실제 시험에서 문제로 나온다면 어떻게 만들 수 있을지 생각해보겠습니다.
만약 시험에서 z01, z02, z03 파일을 다른데 숨겨놓고 test.zip 파일만 발견되면 어떤 생각이 들까요?

어? zip 인데 왜 시그니처가 50 4B로 시작 하는게 아니지? 시그니처 훼손 되었나? 실제로 시그니처 부분을 50 4B(PK)로 수정 하여도 압축해제가 되지 않습니다. 압축 풀고 싶어도 안풀리네~ 어떻게 해야할까? 내가 모르는 다른 확장자를 가진 파일일까? 고민하게 됩니다. 더 나아가서 생각해보도록 하겠습니다. 만약 z01 파일이 zip로 수정되어 있고, 이 파일만 발견 된다면 어떤 생각이 들게 될까요? Hex 시그니처도 정상으로 보입니다. 다만 압축 해제할 경우 정상적으로 압축 해제가 되지 않습니다.

정상적으로 해결하려면 해당 압축 파일의 마지막 분할 압축파일 zip를 찾고 현재 이 파일 z01.zip 확장자를 z01로 변경해야 합니다. (정확하지는 않지만 가장 최근 기출 유형으로 예상하고 있습니다.)
만약 구조를 모르겠으면 시험장에서 zip 압축파일 아무거나 만든 다음 확인하면 됩니다. 일단 zip 폴더를 압축 해보겠습니다. 그리고 시그니처를 보면 50 4B~로 시작합니다.

그리고 마지막을 보면 50 4B(PK)가 2번 보이고 파일명 같은 부분도 발견 됩니다.

즉, 우리가 발견한 zip 파일의 가장 마지막 부분을 봤더니 완전 동일하진 않아도 대략적으로 비슷한 위치에 50 4B(PK)가 발견 되는거 봐서는 압축파일의 마지막 부분이라고 생각할 수 있을 것 입니다. 즉, 압축 파일이지만 온전한 압축파일이 아닌 분할 압축된 파일의 마지막 부분으로 볼 수 있는 것입니다.

사실 zip 파일의 경우 마지막 50 4B 05 06 가 종료 시그니처에 해당합니다. 외울 필요까지는 없지만 zip의 50 4B 03 04 로 시작해서 EOCD (End of Central Directory) 레코드의 시그니처 50 4B 03 06가 마지막 근처에 위치하는 구조입니다.
그렇다면 찾아야 합니다. 50 4B로 시작하는 z01 파일이 어딘가 있을 것이다~ 하고 찾아야 합니다. 그런데 파일명과 확장자를 다른 것으로 바꿔 놓는다면 바로 찾기가 어려울 것입니다. 다만 시험 문제를 내는 입장이라면 중요한 폴더나, 의심스런 폴더에 그럴듯한 파일명으로 숨겨둘 것입니다.
추가로 연습할 수 있는 문제를 아래 만들어 두었으니 참고해서 연습해보시기 바랍니다!
2-2) 7z
7z의 경우 많이 활용하는 압축 파일 형식 중 하나이나, zip 구조와 거의 유사합니다. zip 구조와 비교해보면서 실습해보시기 바랍니다.
7z.001 파일을 HxD로 열어보면 시그니처가37 7A(7z)로 발견됩니다. 이걸 모를 경우 압축파일임을 아예 모를 수 있으니 7z라는게 압축파일 중 하나구나.. 하는걸 꼭 알도록 합시다. 그리고 용량을 보면 마지막 7z.004가 가장 용량이 작은 것을 확인할 수 있네요!

마지막 7z.004 를 보면 마지막에 뭔가 파일명스러운 것이 보이고 끝이 납니다. 마지막 부분에 37 7A(7z)라도 있으면 좋을텐데 없네요!

7z 파일 구조도 결국 7z.001 시그니처가 37 7A (7z)로 시작하고 중간 분할 파일에는 시그니처가 없으며 마지막에 파일명스러운? 것들이 보인다 정도로 확인됩니다. 7z 구조를 확인 해보면 알겠지만 종료 시그니처가 없습니다.
2-3) egg
분할압축 연습 압축을 해제한 뒤 egg 폴더에서 해당 파일들을 모두 hxd로 확인해보도록 하겠습니다. 모두 기본적으로 시그니처에 EGGA 라고 표시됩니다. 그리고 참고로 vol1 파일에는 처음 부분에 test.jpg 파일이 표시됩니다.

vol2, vol3, vol4의 경우 시그니처가 동일한 것을 확인할 수 있습니다. EGGA 시그니처가 발견되면 압축파일이거나, 분할 압축 파일인 것으로 볼 수 있는 것입니다.

그렇다면 시험에서는 이러한 파일을 어떻게 숨겨놀까?
vol2, vol3와 같이 중간 파일을 다른 경로 숨김
파일명을 변경
스테가노로 숨기기 직접 만들어 보겠습니다.
test.vol3.egg 파일을 전체 내용(Ctrl + A) 복사 한 뒤 test.vol2.egg 파일 맨 뒤에 붙여넣기 삽입을 후 파일을 저장합니다.

이후 test.vol2.egg 파일의 파일명을 원하는 것으로 변경합니다.

test.vol3.egg 파일은 삭제하고 변경한 파일은 다른 경로에 위치하여 숨길 수 있는 것입니다. 자 그럼 이제 실제로 문제를 풀어본다고 생각해보겠습니다.
먼저 분할 압축 파일을 찾고, 파일명이 변경되고, 숨겨진 분할 압축 파일을 찾습니다.
스테가노로 숨겨져 있다면 해당 파일을 찾습니다.
파일명을 분할 압축 파일 형식에 맞게 순서대로변경합니다.
압축을 해제 합니다.
추가로 연습할 수 있는 문제를 만들어 두었으니 참고해서 연습해보시기 바랍니다! > 3. 파일 분석 유형 연습
egg 형식의 경우 이전에 출제된 적이 있지만 대용량이 아니면 보기 어려운 구조에 해당합니다. vol1.egg에는 파일명 정보가 포함된 것이 특징인 것을 알고 있으면 됩니다. 참고로 EGG는 한국의 알집(ALZip)에서 만든 독점 포맷으로 잘 사용되는 포맷으로 보기는 어렵습니다.
Last updated





