반응형
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 |