[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