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;
}
일반적인 실행시에 디버깅 중이 아니라는것을 확인 할수 있습니다.
디버거를 활용하여 디버깅을 하는 경우
"디버깅 하는 중입니다." 메시지를 확인할 수 있습니다.
댓글