문제확인
<일반적인 방법으로 프로그램을 실행할 경우>
<디버깅을 통하여 프로그램을 실행할 경우>
풀이
프로그램을 천천히 분석하다 보면 디버깅이 걸리는 시점을 찾을 수가 있다. 바로 아래의 IsDebuggerPresent 지점이다. 이 부분에 의하여 디버깅이 걸리는 것이다.
따라서 안티디버깅을 피하기 위해서는 IsDebuggerPresent를 NOP로 채우는 것도 하나의 방법이다. NOP로 채움으로 인하여 디버깅일 정상적으로 실행 되는 것을 확인 할 수가 있다. 또는 MOV EAX,0을 통하여 무력화 할 수도 있다.
'Reversing > CodeEngn' 카테고리의 다른 글
CodeEngn Basic 06 (0) | 2015.06.01 |
---|---|
CodeEngn Basic 05 (0) | 2015.05.31 |
CodeEngn Basic 03 (0) | 2015.05.31 |
CodeEngn Basic 02 (0) | 2015.05.31 |
CodnEngn Basic 01 (0) | 2015.05.31 |