[ 개요 ]
웹게임 개발을 하다가 이상한 것을 발견했다.
![](https://blog.kakaocdn.net/dn/clEOhR/btr1nCDVASH/IdtNOeufDx6ltZqW9DeyJK/img.png)
어떤 이미지 파일을 열어보니까 확장자는 JPG인데
알파값이 존재하고 있는 것이다.
![](https://blog.kakaocdn.net/dn/cPSsdx/btr1udKmyOX/yf58TD11rfh7WCKBUZbdNK/img.png)
정상적인 JPG 이미지라면
위와 같이, 배경이 투명하지 않아야 한다.
![](https://blog.kakaocdn.net/dn/chr2Rf/btr1lByybBv/Im9Iy3cgJR1d4gedU46szk/img.png)
알파값이 진짜로 존재하는건지
포토샵으로 확인해보려고 했는데
위와 같이 오류를 표시한다.
일반적인 방법으로는 뭐가 문제인지
알 수 없어서 구글 검색을 해보니
(* png 말고도 gif에서도 알파값을 다룰 수
있다는 사실을 여기서 처음 알았음)
바이너리 분석을 통해서
파일 시그니처(File Signature)를 확인하면
파일의 진짜 확장자를 알아낼 수 있다는
사실을 알 수 있었다.
바이너리 분석을 하려면
별도의 프로그램을 설치해야 하는 것으로 보이는데
![](https://blog.kakaocdn.net/dn/cJvUlt/btr1dk5e7dV/tZy8bYNAIdp1P1cG8KRsd0/img.png)
나는 프로그램 설치 없이 하고 싶어서
CMD 같은 기본적으로 있는 내장 프로그램을
이용한 바이너리 분석을 시도했고
그에 따른 성과를 정리해본다.
[ 실습 준비 ]
* 파일 확장명을 체크해야 한다.
(실습용 이미지 다운로드)
List of file signatures - Wikipedia
From Wikipedia, the free encyclopedia This is a list of file signatures, data used to identify or verify the content of a file. Such signatures are also known as magic numbers or Magic Bytes. Many file formats are not intended to be read as text. If such a
en.wikipedia.org
(파일 시그니처 확인사이트)
[ 실습 ]
압축파일에는 위와 같은 이미지가 들어있다.
(+ 맨 처음에 언급된 미스터리한 이미지도 포함)
탐색기의 주소창에 cmd를 입력하여
CMD를 열고 복사한 명령어를 실행해보자
( 실행결과 )
![](https://blog.kakaocdn.net/dn/5aphT/btr01UsJwIn/7T5n0TSvXfZ1Jna7D3lNI0/img.png)
![](https://blog.kakaocdn.net/dn/dmyH9E/btr1fOkGn9w/DjnseIi82n3X7qulXQZT51/img.png)
![](https://blog.kakaocdn.net/dn/cnwdmo/btr01U7qMKK/9FHGVZSKbXAGALWPsiKGl0/img.png)
![](https://blog.kakaocdn.net/dn/b5L1Gk/btr1f2pGsj5/vEvUJjVuMqBXZ8QO8cXGvK/img.png)
![](https://blog.kakaocdn.net/dn/v42C6/btr1dm23cyQ/c5nTIGdcvdzYxuCSZWF941/img.png)
파일 시그니처 확인사이트에서
Ctrl + F를 통해서 확인해보자
![](https://blog.kakaocdn.net/dn/b110H7/btr1nEof6o9/Dzl2OSJ0a3gWsUfehet85k/img.png)
txt, js, bat 등의 텍스트 계열 파일의 경우,
파일 시그니처가 표시되지 않고
내용 그대로가 표시된다.
![](https://blog.kakaocdn.net/dn/C9XPf/btr1dc7e80J/uKFUmxCMATnUY2fWKBvJ51/img.png)
★ 이름바꾸기에서 파일 확장자를 변경하면
바이너리에도 변화가 생길까?
![](https://blog.kakaocdn.net/dn/cyU9PD/btr1fNMN4D1/Sih6rtKJtqw3nImY3DLaK1/img.png)
image1.jpg를 image1.png로 변경했지만
Hex값에는 변화가 생기지 않았다.
즉, image1.png는 사실 jpg파일인 것이다.
이러한 원리로 문제의 이미지 파일의
진짜 확장자를 알아낼 수 있을 것이다.
![](https://blog.kakaocdn.net/dn/JVDkz/btr1pXOBG1t/A60gQvKOFGLN8IRQbve1TK/img.png)
[ 참고자료 ]
#2. Quest_2 - png 파일의 비밀을 풀어라!
* 본 게시판은 DMA 팀원이 기존에 풀었던 CTF 문제나, 개인이 작성해 낸 문제를 정리한 내용입니다. 문제에 대한 공유 및 관련 내용은 댓글에 문의해 주시거나 필자의 E-Mail로 문의 주시면 내부 회
jh8992.tistory.com
How can I view the binary contents of a file natively in Windows 7? (Is it possible.)
I have a file, a little bigger than 500MB, that is causing some problems. I believe the issue is in the end of line (EOL) convention used. I would like to look at the file in its uninterpreted raw...
superuser.com
파일 시그너처(File Signature) 개요 및 검색하기
파일 시그너처(Signature) (1) 파일 시그너처 개요 - 모든 파일은 각각 고유한 포맷(형...
blog.naver.com
댓글