반응형

학교제한으로 못나갔지만 문제 받아서 풀어봤습니다.



일단 UPX패킹되어있으므로 압축을 풀어서 IDA로 살펴보았습니다.




이 문자열에서 스테이지 번호를 출력함을 알 수 있으므로 

스테이지 번호를 담고 있는 변수가 있음을 알 수 있습니다.




0x401300으로 이동해 보겠습니다.




Stage를 찾고 다시 이것을 누가 참조하는지

확인해 보았습니다.




sub_402020 = 스테이지 증가

MakeMap = 스테이지 1이면 맵 고정

sub_401300 = 스테이지 출력

sub_401E90 = 스테이지 20과 63일때의 트리거

sub_4034A0 = 스테이지 초기화


이렇기 때문에 우리는 sub_402020과 sub_401E90만

중요하게 생각하면 됩니다.



이때 스테이지가 20이면 1번 이 찾아지고

60이면 3번이 찾아집니다.

이때 20번을 보면 Pass : Congratulation이라 되어있는데

이것은 비밀번호의 키이며

비밀번호를 입력할시 2번이 찾아집니다.




이부분에서 eax를 조정하여

20층 -> 사망 -> 비밀번호 입력 -> 63층

으로가면 키가 나옵니다.




Player20

KEY : 6Sa8Qu6Eo8Uy4Ye







 

'CTF' 카테고리의 다른 글

CodeGate 2016 Junior BugBug  (0) 2016.03.20
CodeGate 2016 Junior JS_is_not_a_jail  (0) 2016.03.19
CodeGate 2016 Junior MICCheck  (0) 2016.03.19
DIMICON Write Up  (0) 2015.11.13
2015 YISF 순천향대 본선 및 예선 WriteUp  (2) 2015.09.07

+ Recent posts