War Game

코드엔진 Basic RCE L10 Write Up

지현근 2019. 7. 13. 00:48
반응형

OEP를 구하고 OPCODE를 찾아주면 되는 간단한 문제다.

ASPack이란놈으로 패킹되어있는데 수동으로 언패킹부터 해주자.

일단 프로그램을 디버거로 열어준 후 F8로 CALL문까지 가주고, 레지스터를 확인해준다.

Follow in Dump를 해주고,

이동한 덤프에 BP를 걸어준 후 F9를 눌러 실행해준다.

빨간색 표시한 RETN문으로 들어가주자.

이런식으로 나오는데 Ctrl + A를 눌러주면

요러코롬 변해진다.

OEP는 00445834이다.

Dump를 따주자

이렇게 Dump된 파일이 언패킹된 파일이여서 정상 실행될 것 같지만

IAT가 복구되지 않아서 실행되지는 않는다.

Import RCE를 켜주고 IAT 복구를 시도해보자.

OEP - 이미지 베이스 값을 OEP칸에 넣어주고 AutoSearch를눌러주자.

그 뒤 Get Imports를 눌러주면 아래 사진처럼 알아서 찾아준다.

여기서 valid:NO가 되어있는 부분을 Delete 시켜준 뒤

Fix Dump를 눌러주면

IAT가 복구된 파일이 생성된다.

정상실행도 가능하다.

이제 복구된 파일을 디버거에 넣어준 후 등록성공 문으로 가는 분기문을 찾아주자.

텍스트를 유추할 수 있기 때문에 텍스트 검색을 해주었다.

딱봐도 Registered... well done이니 저기로 이동해주자

천천히 위를 훑어보면 JLE문이 성공문자열로 가는 분기문이다.

JLE문의 OPCODE는 7E2E

즉 답은 004458347E2E이다.

반응형