[CodeEngn] Basic RCE L11
L11
문제
basic 09와 같음
OEP + Stolenbyte 구하라
파일 실행


올리디버거

ExinfoPe

언패킹

- F8 - Follow in Dump

- Dump Window - Breakpoint - Hardware on access - Dword
F9

- POPAD 발견
- 분기 함수 전에 수상한 코드 발견
F9

OEP로 넘어가기

F8 - Messagebox 진행

- 실행 시 파라미터 3개 누락 확인
- NOP 코드 총 12byte 확인
코드, 덤프, 스택 윈도우 대조

-
Code Window
a. Messagebox 실행 전까지 파라미터 정상 입력
-
Register Window
a. ESP - Follow in Dump
-
Stack Window
a. Code address 0040100C : Stack address 0019FF64
b. Stack address : 0019FF68 ~ 0019FF6B : Hex dump 12 20 40 00
c. Stack address : 0019FF6C ~ 0019FF6F : Hex dump 00 20 40 00
d. Stack address : 0019FF70 ~ 0019FF73 : Hex dump 00 00 00 00
-
즉, Stolenbyte = 12byte
-
Code address 00401000 ~ 0040100B = Stolenbyte 자리
POPAD

- Stolenbyte 발견
- OP CODE : 6A0068002040006812204000
언패킹

- Stolenbyte된 자리에 Ctrl + E 로 OP CODE 삽입
OEP

- OEP = 00401000