문제 정보

이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다.

디버거를 탐지하는 함수의 이름은 무엇인가

 

풀이 힌트

2-1. IsDebuggerPresent

 

문제 풀이

더보기

3-1. 디버거로 프로그램을 실행하면 "디버깅 당함" 이라는 문구를 출력한다.

 

3-2. 문자열 참조에서도 별다른 수확이 없어 F8로 한줄씩 실행 노가다 후 디버깅 함수를 체크하는 구간을 찾았다.

      ※ 문자열 참조가 아닌 모듈참조를 통해서도 확인할 수 있었다,

 

3-3. test eax,eax 구문에서 eax가 0이면 [04.408190] 함수를 실행하고, 0이 아니면 [04.408190] 함수를 실행하게 되는데 별다른 조작없이 eax가 1인 현재 상황에서는 똑같이 "디버깅 당함" 문구를 출력할 것으로 예상되기 때문에 eax를 0으로 바꿔서 실행해보자.

 

3-4. eax 값을 0으로 조작한 후 실행결과 "정상" 문구를 출력하는 것을 확인할 수 있다.

 

3-5. (정답) 디버깅을 탐지하는 함수의 이름은 IsDebuggerPresent 이다.

 

 

복사했습니다!