코드엔진 Basic RCE L10 Write Up

War Game

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이다.

반응형

'War Game' 카테고리의 다른 글

코드엔진 Basic RCE L12 Write Up  (0) 2019.07.16
코드엔진 Basic RCE L11 Write Up  (0) 2019.07.13
코드엔진 Basic RCE L09 Write UP  (0) 2019.06.30
코드엔진 Basic RCE L08 Write UP  (0) 2019.06.30
코드엔진 Basic RCE L07 Write UP  (0) 2019.06.30