reversing/안티 리버싱

IsDebuggerPresent() 함수

코끼리_땃쥐 2023. 3. 27. 13:40
반응형

IsDebuggerPresent() 함수는 디버깅중인지 아닌지 판별하는 함수입니다.

디버깅 중이라면 1, 디버깅 중이 아니라면 0

이를 활용하여 안티 디버깅에 활용 할수 있습니다.

 

코드는 다음과 같습니다.

#include<iostream>
#include<windows.h>

int main(void)
{
	int check = IsDebuggerPresent();
	if (check == 1)
		std::cout << "디버깅 중입니다." << std::endl;
	else
		std::cout << "디버깅 중이 아닙니다." << std::endl;
	Sleep(5000);

	return 0;
}

 

일반적인 실행시에 디버깅 중이 아니라는것을 확인 할수 있습니다.

 

 

디버거를 활용하여 디버깅을 하는 경우

"디버깅 하는 중입니다." 메시지를 확인할 수 있습니다.

 

 

반응형