본문 바로가기

My Study/Crack Me

Codegate 2014 Clone

요즘은 하고있는 프로젝트들이 많아.. 핑계고 해킹대회에 흥미를 잃어 해킹대회 참여를 잘 하지 않는데요.

그래서 이 문제 또한 대회 끝나고 나중에 입수하여 주말에 심심해서 집에서 풀어보았습니다.

문제를 하도 안풀어보니 해킹대회 할 때 필요한 리버싱 감이 다 없어지는 것 같네요.


clone_technique.exe_b9b0870fb1b877cecf5ea2ae615e12eb


Limited processes will be generated.

Which one has the flag?


IDA와 올디를 사용해 대략 구조를 파악해보니 프로세스가 프로세스를 실행시키고 또 프로세스를 실행시키고.. 하는 구조인데 그 때 인자 값이 계속 바뀝니다.


clone_technique.exe 3026539702 3580248161 2

clone_technique.exe 466510610 2867152813 3

clone_technique.exe 2580226910 609694577 4

...


이런식으로 말이죠.


문제가 상당히 여기저기 의존성 있게 엮여있는거 같아서 그냥 IDA와 올디로 보면서 문제를 복원시켰습니다.

당연히 프로세스 생성되게끔 복원한건 아니고 프로세스 실행부분만 재귀함수 호출로 바꿔서 말이죠..

답이 나오네요?


중간에 살짝 해맸는데 처음에 저는 프로세스 생성 시 인자로 넘어가는 값을 문자열로 변환하면 답이 나올줄 알고 그부분만 보다가 안나와서 이상한 값 만드는 부분이 한군대 더 있어서 거기를 출력해보니 답이 나오더군요.



아래는 위 출력에 대한 소스코드입니다. 문제 안풀어보신 분은 먼저 풀고 보시는 것도 좋을 것 같습니다.



'My Study > Crack Me' 카테고리의 다른 글

2012 PCTF simple  (2) 2012.05.24
Codegate 2011 B500 writeup  (12) 2012.01.18
Defcon 2010 예선 바이너리 3번  (0) 2010.06.02
Defcon 2010 예선 바이너리 2번  (0) 2010.06.02
Defcon 2010 예선 바이너리 1번  (8) 2010.05.23