GN⁺: 콜 오브 듀티 안티치트 리버스 엔지니어링 분석
(ssno.cc)콜 오브 듀티 안티치트 리버스 엔지니어링
-
소개
- 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를 사용하여 화면에 그리는 치트를 감지함.
Hacker News 의견
-
제품 기능을 판매 후 제거하는 것에 대한 법적 규제가 필요함. 특히 계약이나 EULA에 의해 기능이 제거되는 경우, 게임 소유자에게 환불이 필요함. Steam에서의 구매 무효화는 법적으로 불가능해야 하며, 계정 로그인 제한 시에도 아이템과 인벤토리는 거래 가능해야 함. 멀티플레이어 게임에서 윤리 강령을 시행하려면 게임에 대한 요금을 부과할 수 없으며, 금지 조치는 비례성을 따라야 하고, 인간이 참석하는 비용 제한된 항소 재판 시스템이 필요함
-
Activision과의 2년간의 법적 싸움에서 부당한 영구 금지를 뒤집음. Activision은 부정행위에 대한 증거 없이 패배함
-
게임을 플레이하지 않지만 파트너가 플레이함. 지하에 있는 플레이어를 관전하는 것을 보았으며, 클라이언트가 해킹되거나 부정행위를 하는 경우에도 서버 측에서 플레이어 상태가 유효한지 확인해야 함
-
점프 난독화에 대해 궁금함. 무조건적인 점프가 충분히 흔해서 사전 조건으로 필터링할 수 없는지 궁금함. 함수의 끝을 찾는 것이 쉬울 것 같은데, 스택을 분석하여 함수가 반환되는 위치를 알고, 반환 주소 직전에 호출을 찾는 방법이 있는지 궁금함
-
이 기술을 어디서 배웠는지 궁금함. 이 기사 내용의 절반을 이해하고 싶지만 시작하는 방법을 모름
-
인기 있는 Horde/Alliance 기반 MMO 게임에서 리버스 엔지니어링을 조금 해봤으며, 거의 동일한 단계(FNV32 내보내기 해시 포함)를 따름. 매우 유사한 트릭을 사용하는 것 같음. 동일한 보호를 사용하여 패킹되었는지 궁금함
-
뛰어난 연구 작업임. 분명히 저자의 첫 경험이 아님
-
메모리를 읽고 쓸 수 있는 한, FPS 게임에서 온라인 부정행위를 막을 수 없음
-
시그니처 스캐닝은 리버스 엔지니어링의 가장 중독적인 부분임. 시그니처 목록을 작성하고, 스크립팅 언어에 바인딩을 작성하여 함수 포인터를 호출함. 많은 서드파티 모드 플랫폼이 작동하는 기초임
-
멀티플레이어 게임에서의 부정행위는 큰 문제로, 주요 FPS 게임에서 신뢰를 파괴함. CS 플레이어로서 새로운 CoD 게임을 잠시 플레이했지만, 부정행위로 인해 추천할 수 있는 게임이 없음. Escape From Tarkov와 같은 게임은 부정행위로 인해 총의 총열을 훔치고 게임/PC를 강제로 종료시킴. Counter-Strike의 경쟁 게임 모드는 게임 내에서 부정행위 광고 섹션으로 작용함. Valorant는 침해적인 안티치트로 다른 게임보다 우수하지만, 팬들이 주장하는 것만큼 깨끗하지 않음. Counter-Strike의 프라이빗 매치메이킹 산업은 안티치트와 프로 수준의 플레이를 약속으로 구축됨