CodeEngn Basic03 풀이
Wargame | CTF/Reversing

CodeEngn Basic03 풀이

코드엔진 3번문제 풀이를 해보겠습니다. 비주얼베이직에서 스트링 비교함수의 이름을 묻습니다. 

비주얼베이직은 접해본적이없어서 당황스럽네요.. 음 아마 cmpStr 이런류의 함수이름이 아닐까하고 추측해봅니다. 실행을 한번해봅시다.

영어가 아니라서 무슨뜻인지는 모르겠지만 아마도 이 메세지박스를 없애라는 뜻이겠죠?? 일단 확인을 누릅니다.

 

뭔가 코드를 입력하는창이 나옵니다. Registeration 인거같은 버튼을 누르면 무언가 아니라고 뜹니다. 올리디버거로 가봅시다.

Search for에 가서 모든 참조하는 String을 보겠습니다.  동적분석하면서 보았던 문자열들이 보이는군요 더블클릭 해줍시다.

해당 문자열에서 BP를 걸어주고 다시 실행시켜보았습니다. 스택에 문자열을 넣고 함수를 호출하는군요. 402C92 번지에 있는 함수명으로 추측해보면 문자를 복사하는 함수 같습니다.

위로 조금만올리면 함수의 시작 스택프레임을 만드는곳이 있습니다 그냥 여기서 RETN 해줘서 알림창이 안뜨게 만들었습니다.

이제 코드엔진 홈페이지 의도대로 스트링비교함수 이름을 찾아볼까요? 비교는 아마도 패스워드를 입력받고 비교하는 부분에 있을거같네요.

다시 참조문자열 목록에서 비밀번호 같은걸 눌러줍시다. 인수를 두개 입력 받는 함수네요 .하나는 비밀번호이고 하나는 사용자가 입력한 문자겠죠? 문자열 비교함수는 예상한것과 비슷한 StrCmp 였습니다. 

문제풀이 끝!





'Wargame | CTF > Reversing' 카테고리의 다른 글

CodeEngn Basic06 풀이  (0) 2017.08.21
CodeEngn Basic05 풀이  (0) 2017.08.16
CodeEngn Basic04 풀이  (0) 2017.08.11
CodeEngn Basic02 풀이  (0) 2017.08.09
CodeEngn Basic01 풀이  (0) 2017.08.09