[CRC 기반] 코드 무결성 검사를 통한 0xCC(BreakPoint) 또는 Code Patch 탐지
CRC를 이용한 안티 디버깅 해시 함수를 이용하여 무결성 검사를 수행할 수 있음. 일반적으로 특정 루틴을 분석하기 위해 0xCC(Software BreakPoint)를 쓰게 되는데 이 경우 해당 지점의 코드 바이트가 0xCC로 변경되는 것을 이용, 반복적으로 중요 함수의 코드 바이트를 무결성 검사하여 안티 디버깅 수행 예제 진행 순서(CRC 코드 임의 작성) 1. 프로그램 시작 시 쓰레드로 안티디버깅 호출(while로 특정 함수의 코드 무결성 검증) 2-1. 함수가 실행되며 함수에 대한 코드가 변경되지 않을 경우 일반적인 진행 2-2. 함수가 실행되는 부분에 BreakPoint를 설치하고 진행할 경우 안티 디버깅 코드가 동작하는 쓰레드에 의해 프로세스가 종료 빌드 환경 체크 빌드 환경 : VC 2005 ..