ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python challenge-7
    WarGame & 문제풀이/pythonchallenge.com 2019. 8. 20. 10:31

     

    이번 문제는 딸랑 이 위의 사진 1개 뿐입니다.

     

    해당 사진을 보자마자 포렌식을 공부하고 있는 저로서는 아 픽셀! PIL   Image.getpixel() 이 쓰일 것이라는 거 정도는 알수 있었다. 

     

    많진 않지만 포렌식 CTF 를 자주 풀어봐서 대충 (X,X,X,Y)의 식으로 앞 3자리 RGB는 같은 숫자가 적혀있을 것이고 해당 숫자가 한문자의 아스키 코드값일 것이라는 것 정도는 예상하고 문제를 접할 수 있었다.

     

    일단 사진을 보면 우리 눈에 보이는 픽셀이 좀 커보인다. 저 큰 픽셀이 몇개의 픽셀의 높이가 모여서 보여지는 것인지를 먼저 알아 보겠습니다.

     

    img.size를 한번알아 보면 다음과 같습니다.

     

    높이가 95 이므로 딱 중간정도가 되면 저 우리눈에 보이는 픽셀의 색을 띌 것 같으므로 높이를 한 47로 잡고 하겠습니다.

     

    결과를 한번 확인해 보면.. 너무 길기 때문에 좀 자르겠습니다.

    우리눈에 보이는 픽셀 하나당 7픽셀이 라는 것을 알수 있습니다.

     

    그렇다면 높이를 47로 그리고 7픽셀씩 확인 해 보도록 하겠습니다.

     

    결과를 확인해 보면 다음과 같은 문자열을 확인 할 수 있습니다.

     

    저기 괄호 안에 있는 값을 문자로 바꿔 보겠습니다.

     

    re는 파이썬에서 정규 표현식을 지원하는 모듈 입니다.

     

    map함수와 정규 표현식 re를 적절히 조합하여 숫자만 추출해서 chr로 변환시켜서 출력했습니다.

     

    이런 식으로 나오게 됩니다. 

     

    http://www.pythonchallenge.com/pc/def/integrity.html

    Clear!

    'WarGame & 문제풀이 > pythonchallenge.com' 카테고리의 다른 글

    python challenge-9  (0) 2019.08.20
    python challenge-8  (0) 2019.08.20
    python challenge-6  (0) 2019.08.20
    python challenge-5  (0) 2019.08.20
    python challenge-4  (0) 2019.08.20

    댓글

Designed by Tistory.