콜 오브 듀티 안티치트 리버스 엔지니어링 분석

18 hours ago 1

  • 소개
    • 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를 사용하여 화면에 그리는 치트를 감지함.

Read Entire Article