EASY7
[CodeEngn] Basic RCE L04 본문
실습환경
VMware Workstation
OS : Window XP
OllyDbg(shadow)
IDA 32
문제
이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다. 디버거를 탐지하는 함수의 이름은 무엇인가
파일에 대한 이해
ImageBase : 0x100000
EP : 0x1000
IsDebuggerPresent 함수
-디버거가 아니면 0
-디버거면 0이 아닌 값.
문제 풀이
나는 올리디버거로 돌려도 정상으로 나오는데 어찌된 일인지 해서 리버싱 선배님들한테 물어보니!
올리디버거를 플러그인으로 패치한 것 같다고, 올리디버거 홈페이지에서 오리지널 버전으로 다운로드 받아서 시도해보라고 하셨습니다!
생각해보니 이 올리디버거는 악성코드 분석 교육받을 때 받은 거라서 IsDebuggerPresent함수를 감지하면 디버거가 아니라는 답을 주는 것 같습니다.
1. IsDebuggerPresent 함수를 search 해서 F4(커서 전까지 실행)->F8(함수로 들어가지않고 실행)
2. 이번엔 IsDebuggerPresent의 결과값(EAX)를 강제로 0으로 변경함.
3. 정상으로 나오는 것으로 보아 IsDebuggerPresent 의 기능을 알 수 있었음.!
참고
IsDebuggerPresent msdn
'Project > CodeEngn' 카테고리의 다른 글
[CodeEngn] Basic RCE L06 (0) | 2019.11.15 |
---|---|
[CodeEngn] Basic RCE L05 (0) | 2019.11.10 |
[CodeEngn] Basic RCE L03 (0) | 2019.11.05 |
[CodeEngn] Basic RCE L02 (0) | 2019.11.05 |
[CodeEngn] Basic RCE L01 (0) | 2019.11.05 |
Comments