일단 전 청소년이 아닙니다.

또한 이글은 풀이라고 보기보다는 풀이 과정을 써놓은 글 입니다.

적어도 이 글을 보고 문제 푸는 방향은 잡으실 수 있으나 풀이에 사용된 코드는 공개하지 않습니다.

(전 제 코드는 거의 공개하지 않는 편이라... 가끔 공개해요 ㅎㅎ)

사실 시스템 복원했는데 날렸어요 ㅡㅡ;;

.
.
.

자 이제부터 시작해볼까요??

전 아는분께 bmp 파일을 하나 받았습니다.




하지만 전 'bmp는 그냥 bitmap 이다~' 라는 것 뿐이 몰랐죠..

어떻게 해야 하나 고민하고 있다가 '파일은 역시 파일구조부터 봐야지' 하며 파일 구조를 검색했습니다.

검색하니 bmp 헤더는 53바이트까지라고 하네요
(참조 :
http://www.riemers.net/kor/Tutorials/XNA/Csharp/Series1/Importing_bmp_files.php)

위 문서에 의하면 data는 54바이트 부터 시작이라네요..

전 일단 bmp 파일 정보를 보기 위해서 검색하다 얻은 툴을 이용해서 정보를 봤습니다.

제가 쓴 툴은 헤더정보와 픽셀정보를 볼 수 있는데 아무래도 이미지 안에 인증 패스워드가 숨겨져 있는거 같아 픽셀 정보를 보았습니다.



엥.. 보니 RGB 값이 모두 같네요??? 전 이걸 이번에 삽질하면서 처음알았어요..(bmp는 RGB로 이루어져 있답니다.)

정상적인 RGB라면 저렇게 모두 같을테니 의도적으로 넣은 문자열의 픽셀은 RGB 값이 다를꺼라 생각하고 코딩을 시작했습니다.

여기서도 꽤 오래 걸렸죠... 전 코딩을 잘 못해서요 ㅠㅠ

코드 시나리오는 이렇습니다.

1. 원본파일과 결과파일을 파일포인터로 연다.

2. 원본파일의 헤더를 결과파일에 복사한다.

3. data에 있는 R, G, B의 값들을 비교하여 모두 같다면 특정 색으로 결과파일에 넣어준다.

4. data에 있는 R, G, B의 값들이 하나라도 다르다면 특정 색으로 결과파일에 넣어준다.

5. 파일포인터를 닫아준다.

3, 4번에 특정색은 극과극으로 주는것이 제일 좋겠죠??? 그렇게 하면 임의적으로 넣은 문자열이 선명하게 보일테니까요..

프로그램을 돌리고 결과파일을 보면 다음과 같습니다.




와우... 근데 이게 답인지를 모르겠어요 ㅡㅡ;;

전 인증을 못했거든요 청소년이 아니라 대회를 참가를 못했거든요 ㅋㅋ

음.. 무튼 전 여기까지 풀었습니다 ㅋㅋㅋㅋ

아는분이 주신 파일만 봤구요. 시간이 없어서 고작 이것만 풀었네요..

나중에 파일 많이 구해서 다시 풀이 올릴께요^^

제가 만든 이미지 분석툴은 이 이미지를 분석하지 못하더라구요 ㅡㅡ.....

제 프로그램은 역시 허접인가 봅니다 ㅎㅎ

저도 청소년이었다면 얼마나 좋았을까요 ㅋㅋ


p.s 문제 제공해주신분 감사해요 ㅋㅋ 지금은 밝히지 못하고... 3년뒤에 밝히겠습니다 ㅋㅋ
  1. Favicon of https://strangeronpaleblue.com BlogIcon 이방인펠블닷 2009.09.23 01:05 신고

    정말 볼때마다 대단하단 생각밖에 안들어요 ㅎㅎ

    • Favicon of https://maj3sty.tistory.com BlogIcon MaJ3stY 2009.09.23 15:37 신고

      저도 삽질해서 푼거라.... 우연이었다고 할까요...

  2. Favicon of http://zzibong.dyndns.org BlogIcon zzibong 2009.09.23 01:05

    ㅎㅎ 저랑 같이 root로 돌아가요

    • Favicon of https://maj3sty.tistory.com BlogIcon MaJ3stY 2009.09.23 15:37 신고

      네?? root로 돌아가다니요?? 무슨말씀이신지 이해가 ㅋㅋ;;

    • rex0 2009.09.24 19:29

      root = 근원, 뿌리

    • ut0pian 2009.11.29 13:09

      혹시 널루트로 돌아가자는 얘기가 아니실지..ㅋㅋ

  3. rex0 2009.09.24 19:29

    틀린 부분이 있어요. 헤더를 잘못 주셨어요.
    아마 헤더를 0x53으로 주고 코딩하신 모양이신데...
    bmp 구조에서는 0xd까지가 파일 헤더고 0xe부터 0x35까지가 헤더예요.'ㅅ'

    • Favicon of https://maj3sty.tistory.com BlogIcon MaJ3stY 2009.09.24 20:31 신고

      아~

      제대로 코딩하긴 했는데 설명이 부족한듯하네요...

      ㅈㅅ 제가 글솜씨가 좀 없어요...

      그래서 저렇게 문서까지 링크해놓은건데.. ㅋㅋ

  4. Favicon of http://blueh4g.org BlogIcon BlueH4G 2009.11.27 04:05

    음.. 내용중에, "정상적인 RGB라면 저렇게 모두 같을테니" <- 요부분은 잘못된 내용임 :p

    저 이미지가 흑백으로 만든 이미지라서 저렇게 되어있는거고, 실제로 그림판으로 이미지 하나 만들어서 긁어봐도

    RGB 색상이 다르게 나옴. (그림판에 빨강파랑녹색으로 대충 그림그려놓고 까보면 FF 00 00 등등.. ㅋ)


    아 글구 서울 오긴 오나? ㅋㅋ 나 미국가기전에 와라 ㅋ

    • Favicon of https://maj3sty.tistory.com BlogIcon MaJ3stY 2009.11.27 23:45 신고

      ㅎㄷㄷ.. 이 글 그냥 확 삭제해버릴까요 ㅋㅋ;;

      헐 미국 가세요??

      왜요??

      언제요??

  5. Favicon of http://blueh4g.org BlogIcon BlueH4G 2009.11.28 01:50

    조만간 ㅎ

    날짜는 비'밀' ㅋㅋㅋㅋ

    어차피 2010년 안에는 한국 돌아와 ㅋㅋ

    아암.. 오늘도 밤새야하나.. ㅠ

    • Favicon of https://maj3sty.tistory.com BlogIcon MaJ3stY 2009.11.29 01:03 신고

      ㅋㅋㅋ 요즘 또 하시는 일 있으신가봐요??

      아니면 저처럼 과제?? ㅋㅋㅋ

  6. Favicon of http://crownw.tistory.com BlogIcon cw 2009.12.02 22:49

    이렇게 푸는거군요 저도 내년에 잘준비해서 이런문제를 풀수있었으면하네요 전 ㅇ_ㅇ 파이팅!

  7. 익명 2011.08.09 08:15

    비밀댓글입니다

    • Favicon of https://maj3sty.tistory.com BlogIcon MaJ3stY 2011.09.17 10:11 신고

      음 저게 뭐였더라.... 집에가서 한번 보고 알려드릴께요 ㅎ

  8. 익명 2011.08.09 08:20

    비밀댓글입니다

    • Favicon of https://maj3sty.tistory.com BlogIcon MaJ3stY 2011.09.17 10:10 신고

      가지고 있긴한데 제가 집이 아니라서요 ㅠㅠ;;

+ Recent posts