code.bmp 파일

BMP 파일이란?
BMP는 비트맵(Bitmap)의 줄임말로, 어떤 디바이스에서도 정확하게 이미지를 보여줄 수 있는 파일 포맷.
각각의 이미지 픽셀을 고유한 개체로 처리하는 특징 때문에 이미지 품질이 좋고 세부 정보도 많음
파일 크기가 크지만 그만큼 편집도 쉽다.

 

육안으로 플래그 식별 가능한 건 아닌 것 같아서, HxD로 까봤다

 

BMP 파일 구조를 먼저 알아야 할 것 같다.

BMP의 파일 헤더는 다음과 같은 구조로 구성된다.

이름 크기 설명
bfType 2 .bmp 파일의 시그니처 (0x42 0x4D = BM)
bfSize 4 해당 파일의 전체 크기 (Bytes)
bfReserved1 2 예약된 영역. 사용하지 않는다.
bfReserved2 2 예약된 영역 2. 사용하지 않는다.
bfOffBits 4 실질적인 데이터의 시작 Offset

 

code.bmp 파일의 헤더에서는,

- bfType: BM

- bfSize: 0x1476(little endian) = 5238bytes

파일 속성에서 크기 확인해 보면 일치하는 것을 확인 가능. 

- bfOffBits: 0x36 Offset 위치로 이동하면 파일의 실질적 데이터 시작 위치. 

 

헤더 파일 분석해 보니까 이 파일이 훼손된 bmp는 아니라는 걸 알겠음.

뭐 어떻게 푸는 건지 모르겠어서... 일단 막무가내로 .jpg 파일로 변환해봄

생긴 건 똑같다.

이걸 HxD에 넣어 보면?...

아무것도 없음

뭐 어케 푸는 거지


구글링해 보니까 사진 자체에서 힌트를 얻는 거라고 함...

일반적인 바코드와는 달리 하단에 두 줄 정도 얇은 도트가 찍혀 있다.

첫 줄의 도트는 바코드의 긴 줄이 없는 곳에 찍혀있고,

두번째 줄의 도트는 총 17개. 일정한 간격으로 찍혀 있음

 

사진이 선명하게 보이진 않지만 두 번째 줄의 도트를 기준으로 나눠 7자리씩

바코드의 긴 줄 이진수처럼?... 표현해 본다.

1001000

0110100

1000011

1000111

1001101

1111011

1101110

1101111

1101110

0101101

1100010

1100001

1110010

1100011

1101111

1100100

1100101

1111101

총 18개이다.

이걸 ASCII 코드로 변환하면 문자열이 나올 것 같다.

이진수 입력했더니 위와 같이 ASCII text로 플래그가 나왔다!!

+ Recent posts