ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Reversing] Static
    CTF write_up/Hack CTF 2019. 4. 1. 11:26

    Static 파일을 기드라로 열어보면 다음과 같습니다.(IDA로 열기 위해서는 파일을 조금 수정해야 한다고 합니다.)

     

    다음과 같은 main함수가 나오는데 함수명은 main으로 되어 있지 않습니다.

     

    FUN_00100a3a로 되어 있는데 함수를 살펴 보시면 iVar1에 리턴값을 저장하는 FUN_0010087c함수가 키워드 인것 같습니다.

     

    함수가 좀 길어서 Color Scripter을 이용했습니다.

     

    이함수를 거치게 되면 FUN_00100830함수를 통해서 FLAG가 출력되는 형식인것 같습니다.

     

    그렇다면 FUN_0010087c에서 어떻게 움직이냐에 따라서 값을 전달하는것 같습니다. 

     

    위에서 부터 천천히 내려고려고 봤더니 저희가 모르는 것이 태반입니다. 그래서 51번 while 조건문 부터 천천히 올라가 보도록 하겠습니다.

     

    local_48의 주소에 local_1c를 더하는 것으로보아 local_48에 있는데이터가 int형 이므로 int형 값 하나하나씩 비교하려고 한것으로 보입니다.

     

    local_70은 pcParm1이 들어있는데 이 pcParm1에는 "bi0s"라는 문자열이 들어 있습니다.

     

    그렇다는 것은 아래의 do~while 보다는 위의 while과 31번줄이 중요한 내용같습니다. 

     

    31번~41번까지의 내용을 파이썬 코드를 작성하여 flag를 유추해 보도록 하겠습니다.

     

     

    key 값은 리틀엔디안으로 저장되기 때문에 4919197161836291817161형식으로 들어가게 됩니다.

     

     

    Flag 값이 의미없는 값이여서 아닌줄 알았는데... 맞더라고요...ㅠ 삽질 했습니다ㅠ

     

    Flag : HackCTF{4999997A6A0C6B1A0A7A6A}

     

    'CTF write_up > Hack CTF' 카테고리의 다른 글

    [Forensics] Secret Document  (0) 2019.04.01
    [Reversing] BabyMIPS  (0) 2019.04.01
    [Reversing] Strncmp  (0) 2019.03.31
    [Misc] DnF  (0) 2019.03.29
    [Web] Authenticate  (0) 2019.03.29

    댓글

Designed by Tistory.