FindWindow를 이용한 안티 디버깅
FindWindow는 Caption이나 Class Name으로 윈도우를 찾는 함수. 디버거가 가지고 있는 Caption이나 Class Name으로 윈도우를 찾아서
핸들이 반환되면 디버거가 실행 중임을 의미.(아래 화면은 Spy++로 OllyDbg의 윈도우 정보를 검색한 내용)
MSDN
lpClassName : Class Name
lpWindowName : Caption Name
반환 값 : 해당 윈도우를 찾았을 경우 윈도우 핸들 반환, 찾지 못할 경우 0 반환
소스 코드
안티 디버깅 우회 방법
1. FindWindow로 전달되는 인자를 존재하지 않는 이름으로 수정
2. FindWindow로 전달되는 반환 값을 0으로 수정
3. 디버거의 안티디버깅 플러그인 이용(ex : OllyDbg의 OllyAdvanced Plug-In을 이용)
Reference
MSDN : https://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx
'Reversing > Anti Debugging' 카테고리의 다른 글
[API 기반] OllyDbg Filename Format String (0) | 2015.03.25 |
---|---|
[API 기반] REGISTRY(Regstry 관련 함수) (0) | 2015.03.25 |
[API 기반] OutputDebugString (0) | 2015.03.25 |
[API 기반] CheckRemoteDebuggerPresent (0) | 2015.03.25 |
[API 기반] IsDebuggerPresent (10) | 2015.03.25 |