반응형

04.exe
0.23MB

 

 

 


 

 

x32dbg로 EP 부분을 확인해보면 위와 같다.

 

 

문자열 찾기 기능을 이용해 프로그램 내의 문자열들을 확인해보면 위와 같이 "디버깅 당함" 문자열과 "정상" 문자열을 볼 수 있다.

 

 

"정상" 문자열을 더블 클릭해 이동하면 위와 같은 코드가 보인다.

 

Sleep() 함수를 거쳐 IsDebuggerPresent() 함수를 거친 뒤 eax의 값이 1이면 "디버깅 당함"을 출력하고, eax의 값이 0이면 "정상"을 출력한다.

 

 

디버거에서 F8로 실행하면 위와 같이 "정상" 문자열이 아닌 "디버깅 당함" 문자열이 뜬다.

 


풀이

 

 

위의 코드를 보면 IsDebuggerPresent() 함수를 호출한 뒤 IsDebuggerPresent() 함수의 반환 값에 따라 "디버깅 당함" 혹은 "정상" 문자열이 뜬다.

 

그러므로 디버거를 탐지하는 함수 이름은 IsDebuggerPresent()이다.

반응형

'전쟁 > codeengn' 카테고리의 다른 글

[codeengn] Basic RCE 06  (0) 2022.07.28
[codeengn] Basic RCE 05  (0) 2022.07.25
[codeengn] Basic RCE 03  (0) 2022.07.24
[codeengn] Basic RCE 02  (0) 2022.07.24
[Codeengn] Basic RCE 01  (0) 2022.07.24

+ Recent posts