8번 문제입니다. OEP를 구하는 문제네요.



PEID로 보면 upx 패킹이 되어있습니다.

upx툴로 풀어도 되지만 이번에는 직접 ollydbg manual unpacking 해보겠습니다.



ollydbg로 실행하면 packing 에 의해 엉뚱한곳에 ep가 설정되어있습니다.


upx는 마지막 줄에 jmp로 OEP로 가는 구조입니다. 아래로 내려보시면 확인할 수 있습니다.



1012475로 jmp해 가는군요. 그렇다면 저기가 바로 우리가 구해야할 OEP라는 소리입니다. 답은 나왔지만 unpack 해보겠습니다.



F9에서 F8로 OEP로 왔습니다. 정말 익숙한 모습입니다.



마우스 오른쪽 버튼을 눌러서 ollydump 플러그인을 실행시킵니다. ollydump는 아래 버튼을 눌러주시면 됩니다.




Rebuild Import 버튼을 해제 하고

Dump 버튼을 누르시고 저장하시면 됩니다.


하지만 그냥 실행하면 정상적으로 실행되지 않습니다. 그래서 LordPE라는 툴을 이용해 정상적으로 실행되게 하겠습니다.









PEID로 확인해보면 언패킹 된것을 확인할 수 있습니다.






'Wargame > CodeEngn challenge' 카테고리의 다른 글

CodeEngn basic Level 10 풀이  (0) 2016.09.30
CodeEngn basic Level 9 풀이  (0) 2016.09.13
CodeEngn basic Level 7 풀이  (0) 2016.09.12
CodeEngn basic Level 6 풀이  (0) 2016.09.11
CodeEngn basic Level 5 풀이  (0) 2016.09.11


7번 문제입니다.




MASM32 / TASM32 [Overlay] 가 정확히 뭔지 모르나 구글에 치면 어셈블리어라고 대충 눈치 챘습니다. 



07.exe를 그냥 실행하면 위와 같은 결과를 보여줍니다.

ollydbg로 분석을 해보겠습니다.



문자열을 검색하면 실패시 나오는 결과문자열과 성공시 나올것으로 예상되는 문자열이 나옵니다.

성공시 나올것 같은 문자열로 더블클릭으로 이동하겠습니다.




4010ff에서 분기문으로 성공과 실패가 나뉘어집니다.

그렇다면 분기문 위를 디버깅 해봐야하겠군요.



StringToAdd 에 4562-ABEX라는 string이 있습니다. 그리고 문제에서 제시된 c드라이브의 이름을 저장하는 버퍼인 VolumeNameBuffer가 40225c에 위치하고있는데 이 곳에 CodeEngn으로 채워넣고 디버깅을 하면 ConcatString에 이 값이 들어가게 됩니다.



그리고 반복문을 통해 CodeEngn에서 'Code' 까지 1씩 더하는 과정을 2번 하게됩니다.

결과는 직접 해보시기 바랍니다.







'Wargame > CodeEngn challenge' 카테고리의 다른 글

CodeEngn basic Level 9 풀이  (0) 2016.09.13
CodeEngn basic Level 8 풀이  (0) 2016.09.12
CodeEngn basic Level 6 풀이  (0) 2016.09.11
CodeEngn basic Level 5 풀이  (0) 2016.09.11
CodeEngn basic Level 4 풀이  (0) 2016.09.11


6번 문제입니다.



PEID로 확인해보면 UPX 패킹되어있는 것을 확인할 수 있습니다.



upx 툴로 언패킹 해줍니다.



언패킹 되었습니다.



string 검색을 하면 시리얼로 예상되는 문자열을 확인할 수 있습니다.

저 값을 시리얼 값에 입력한 후 ollydbg를 살펴보겠습니다.



401290에서 무언가 일어날 것 같습니다. 한번 살펴보겠습니다.



EDX와 ECX에 시리얼과 입력값을 MOV하고 둘을 비교하는 함수인것을 알 수 있습니다.


함수를 빠져나와 넘어가면 문제가 클리어 되었습니다.



근데 codeengn 홈페이지에서 원하는 정답은 시리얼 번호 만이 아닌 OEP+시리얼 값이므로 PEID에서 OEP를 확인하여 시리얼과 같이 입력하면 답이 나옵니다.



hint) OEP = EntryPoint + ImageBase









'Wargame > CodeEngn challenge' 카테고리의 다른 글

CodeEngn basic Level 8 풀이  (0) 2016.09.12
CodeEngn basic Level 7 풀이  (0) 2016.09.12
CodeEngn basic Level 5 풀이  (0) 2016.09.11
CodeEngn basic Level 4 풀이  (0) 2016.09.11
CodeEngn basic Level 3 풀이  (0) 2016.09.11

+ Recent posts