-
[Reversing] StaticCTF 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