안녕하세요. 오늘은 Advance RCE level 4를 풀어보겠습니다. 홈페이지로 들어가 파일을 받아주세요

실행시켜봅시다.

잘못된 값을 치면 Invalid Serial이라 나오는 군요. 올리디버그로 열어서 문자열을 검색해봅시다.

문자열이 나와있지 않군요. 함수를 찾아 봅시다.

함수도 종료프로세스 밖에 없군요.. 아무래도 패킹되어 있는 것 같습니다. peid로 확인해봅시다.

정보가 나와있지 않군요. 아마 알려지지 않은 패킹방법인 것 같습니다. 올리디버거로 열어 코드를 뜯어봅시다.

한줄씩 실행하다 보면 위와 같이 401006으로 가는 코드가 있습니다. 가 봅시다.

아무래도 여기가 OEP인 것 같습니다. 그러므로 올리덤프 플러그인을 이용해 덤프합시다.

밑의 박스를 체크해제한 후 덤프버튼을 눌러 저장합시다. 그리고 덤프된 파일을 열어 봅시다.

덤프된 파일을 열어보니 유니코드를 비교하는 lstrcmp함수가 보입니다. 브레이크를 걸고 시리얼 값을 입력해봅시다.

이름이 CodeEngn일때 입력한 값 123과 LOD-59919-A0024900과를 비교하는 것을 볼 수 있습니다. 입력해보시다.

성공문자열이 떴습니다. 인증해봅시다.

네 이것으로 문제풀이를 마치겠습니다. 감사합니다.

'codeengn' 카테고리의 다른 글

codeengn - Advance RCE level 6  (0) 2016.08.07
codeengn - Advance RCE level 5  (0) 2016.08.07
codeengn - Advance RCE level 4  (0) 2016.08.07
codeengn - Advance RCE level 3  (0) 2016.08.07
codeengn - Advance RCE level 2  (0) 2016.08.03
codeengn - Advance RCE level 1  (0) 2016.08.03
Posted by englishmath