reversing.kr - ImagePrc
디버거 프로그램으로 보면 15F90번 비교하는 부분이 있다. 그 부분이 핵심비교문이다.
PeViewer로보면 rsrc부분에 비교하는 부분이 있다. rsrc 전체다.
그부분을 복사해서 0x36부터 붙이면 된다. 0x35까진 비트맵 헤더다.
0~1 은 42 4D로 기본 그림판 포맷이다.
2~5 는 그림 파일 크기다. 15F36 (이걸 좀 작게해줘도 답은 보인다.)
6~7, 8~9 는 무슨 준비 값이라는데.. 잘모르겠다
A~D 까지는 비트맵 데이터를 찾을 수 있는 시작 오프셋이다. 36부터 그림이 시작된다. (바이트 단위)
E~0x11은 비트맵 헤더 크기이며 40(0x28)으로 되어있다.
0x12~0x15는 비트맵 가로 크기 (200)
0x16~0x19는 비트맵 세로 크기다. (150)
0x1A~0x1B는 사용하는 색판의 수. 기본 1이다.
0x1C~0x1D는 한 화소에 들어가는 비트 수이며 그림의 색 깊이를 뜻한다. 보통 값은 1, 4, 8, 16, 24, 32이다. (24비트로 해야 답이 보임)
0x1E~0x21는 압축 방식
0x22~0x25는 그림 크기 (15F90)
0x26~0x29는 그림의 가로 해상도. (미터 당 화소, signed integer)
0x2A~0x2D는 그림의 세로 해상도. (미터 당 화소, signed integer)
0x2E~0x31는 색 팔레트의 색 수, 또는 0에서 기본값 2n.
0x32~0x35는 중요한 색의 수. 모든 색이 중요할 경우 0. 일반적으로 무시.
0x36~는 다 그림 정보.