-
소개
- Black Ops Cold War의 사용자 모드 안티치트를 연구한 결과를 공유함.
- Treyarch의 게임으로, TAC(Treyarch Anti-Cheat)로 지칭함.
- 최신 게임과의 주요 차이점은 커널 모드 드라이버의 유무임.
Arxan
-
Arxan의 역할
- Call of Duty 게임에서 사용되는 난독화/보호 도구.
- 실행 파일을 암호화하고, 디버거나 체크섬 불일치를 감지하면 프로세스를 종료함.
런타임 실행 파일 암호화
-
실행 파일 보호
- 게임 실행 파일은 패킹 및 암호화되어 있으며, Arxan이 이를 해제 및 복호화함.
실행 파일 체크섬
-
체크섬 감시
- Arxan은 실행 파일의 패치를 지속적으로 감시함.
Jmp 난독화
-
함수 난독화
- 함수와 명령어를 jmp로 분리하여 분석을 어렵게 만듦.
진입점 난독화
-
진입점 보호
- Arxan 보호 게임의 진입점을 따라가기 어려움.
포인터 암호화
-
포인터 보호
- 중요한 포인터는 사용 전마다 암호화 및 복호화됨.
TAC의 모니터링 감지 방법
-
API 훅 감지
- TAC는 Windows API를 사용하여 안티치트를 수행하며, 특정 패턴을 감지함.
런타임 API 내보내기 조회
-
API 조회
- TAC는 모듈 해시와 API 이름 해시를 사용하여 API를 조회함.
디버그 레지스터
-
디버그 레지스터 감지
- TAC는 디버그 레지스터를 감지하여 프로세스를 종료함.
드라이버 서명 강제
-
테스트 모드 감지
- Windows의 테스트 모드를 감지하여 계정을 플래그 처리함.
TAC의 프로세스 종료 방법
-
프로세스 종료
- TAC는 두 가지 방법으로 프로세스를 종료하며, 레지스터를 초기화함.
치트 로깅 감지
-
콘솔 할당 감지
- 콘솔 창이 할당되었는지 확인하여 치트를 감지함.
시각적 요소 감지
-
ESP 및 UI 감지
- DirectX 12를 사용하여 화면에 그리는 치트를 감지함.