일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 마감임박
- 디오판투스 알고리즘
- 덧셈 암호
- 무료교육
- node.js
- Writeup
- 한국정보보호산업협회
- 동적타이핑
- 포너블
- 웹 프레임워크
- arrow function
- 한국정보보호산업협회기자단
- 개인정보보호교육
- package.json
- 백엔드입문
- 확장 유클리드 알고리즘
- 한국산업인력공단
- 국가인적자원개발컨소시엄
- pwnable.tw
- 유클리드_알고리즘
- 호이스팅
- package-lock.json
- 개인정보안전성
- 모듈러 연산
- 가명정보처리
- 곱셈 암호
- function scope
- 백엔드
- 개인정보보호위원회
- 개인정보보호
- Today
- Total
짱짱해커가 되고 싶은 나
[j2k 파일구조] 본문
sample file : https://filestar.com/skills/j2k/
.J2k Skills
With Filestar you get 171 different skills for working productively with JPEG 2000 Image .(j2k) files.
filestar.com
j2k 파일 구조를 확인해보자.
먼저 j2k는 jpeg에서 사용하는 파일 포맷으로, 크게 다음과 같은 파일 구조를 갖고 있다.
packet이라고 불리는 data unit의 collectoin으로,
code stream 안에는, Main header있고 그 다음으로 tile part들이 여러개가 나온다.
tile part는 각각 tile part header와 packet들로 구성되어 있다.
코드 스트림의 구조는 다음과 같이 main header와 tile-part header들로 구성된다.
Main header와 Tile-part header 구조를 자세히 보면, 다음과 같다.
SOC는 code stream의 시작으로 0xFF4F다. sample file을 열어본 결과 시작 부분이 0xFF4F 임을 확인할 수 있다.
Tile-part header의 시작인 SOT의 값은 0xFF90 임으로 위의 파랑색으로 표시한 부분이 main header에 해당한다.
SOT가 1번 밖에 나오지 않는 것을 통해 Tile-part header가 1개임을 확인할 수 있다.
0xFF93은 SOD(Start of Data)임으로 SOD에서 EOC까지는 데이터 영역임을 확인할 수 있다.
퍼징을 위한 분석이니 세부적인 값들에 대한 구조는 생략하도록 하겠다.