Reverse engineering anti-cheat của Call of Duty
- Giới thiệu
- Chia sẻ kết quả nghiên cứu anti-cheat ở chế độ người dùng của Black Ops Cold War.
- Đây là game của Treyarch, được gọi là TAC (Treyarch Anti-Cheat).
- Khác biệt chính so với các game mới hơn là có hay không có driver ở chế độ kernel.
Arxan
- Vai trò của Arxan
- Công cụ làm rối/bảo vệ được sử dụng trong các game Call of Duty.
- Mã hóa tệp thực thi và chấm dứt tiến trình nếu phát hiện debugger hoặc checksum không khớp.
Mã hóa tệp thực thi lúc runtime
- Bảo vệ tệp thực thi
- Tệp thực thi của game được pack và mã hóa, Arxan sẽ giải pack và giải mã nó.
Checksum của tệp thực thi
- Giám sát checksum
- Arxan liên tục giám sát các bản vá áp vào tệp thực thi.
Jmp obfuscation
- Làm rối hàm
- Chia nhỏ hàm và lệnh bằng
jmp để khiến việc phân tích trở nên khó khăn hơn.
Làm rối điểm vào
- Bảo vệ điểm vào
- Rất khó lần theo điểm vào của các game được Arxan bảo vệ.
Mã hóa con trỏ
- Bảo vệ con trỏ
- Các con trỏ quan trọng đều được mã hóa và giải mã mỗi lần trước khi sử dụng.
Cách TAC phát hiện hoạt động giám sát
- Phát hiện API hook
- TAC dùng Windows API để thực hiện anti-cheat và phát hiện các mẫu nhất định.
Tra cứu export API lúc runtime
- Tra cứu API
- TAC tra cứu API bằng hash của module và hash tên API.
Thanh ghi debug
- Phát hiện thanh ghi debug
- TAC phát hiện các thanh ghi debug và chấm dứt tiến trình.
Thực thi bắt buộc chữ ký driver
- Phát hiện test mode
- Phát hiện test mode của Windows và gắn cờ tài khoản.
Cách TAC chấm dứt tiến trình
- Chấm dứt tiến trình
- TAC chấm dứt tiến trình theo hai cách và khởi tạo lại các thanh ghi.
Phát hiện log cheat
- Phát hiện cấp phát console
- Phát hiện cheat bằng cách kiểm tra xem cửa sổ console có được cấp phát hay không.
Phát hiện yếu tố hiển thị
- Phát hiện ESP và UI
- Phát hiện các cheat vẽ lên màn hình bằng DirectX 12.
1 bình luận
Ý kiến trên Hacker News
Cần có quy định pháp lý đối với việc bán sản phẩm rồi sau đó gỡ bỏ tính năng. Đặc biệt khi tính năng bị loại bỏ theo hợp đồng hoặc EULA, chủ sở hữu trò chơi cần được hoàn tiền. Việc vô hiệu hóa giao dịch mua trên Steam nên là điều bất khả thi về mặt pháp lý, và ngay cả khi bị hạn chế đăng nhập tài khoản thì vật phẩm và kho đồ vẫn phải có thể giao dịch được. Nếu muốn thực thi bộ quy tắc ứng xử trong game multiplayer thì không được thu phí cho trò chơi, các biện pháp cấm phải tuân theo tính tương xứng, và cần có một hệ thống kháng cáo xét xử với chi phí giới hạn có sự tham gia của con người
Đã lật ngược lệnh cấm vĩnh viễn oan sai sau cuộc chiến pháp lý kéo dài 2 năm với Activision. Activision đã thua mà không đưa ra được bằng chứng gian lận
Tôi không chơi game này nhưng bạn đời của tôi có chơi. Tôi đã thấy cảnh quan sát một người chơi ở dưới lòng đất, và ngay cả khi client bị hack hoặc gian lận thì phía máy chủ vẫn phải xác minh trạng thái người chơi là hợp lệ
Tôi tò mò về kỹ thuật làm rối bằng nhảy lệnh. Có phải các lệnh nhảy vô điều kiện đủ phổ biến để không thể lọc bằng điều kiện tiên quyết không? Có vẻ như việc tìm phần cuối của hàm sẽ khá dễ, bằng cách phân tích stack để biết hàm sẽ trả về ở đâu, rồi tìm lời gọi ngay trước địa chỉ trả về chăng?
Tôi tò mò tác giả đã học kỹ thuật này ở đâu. Tôi muốn hiểu được một nửa nội dung bài viết này nhưng không biết nên bắt đầu từ đâu
Tôi từng reverse engineering một chút trên một MMO nổi tiếng dựa trên Horde/Alliance, và nó gần như đi theo cùng các bước (bao gồm cả băm export bằng FNV32). Có vẻ họ dùng những mánh tương tự nhau. Tôi tự hỏi liệu nó có được đóng gói bằng cùng một cơ chế bảo vệ hay không
Công trình nghiên cứu xuất sắc. Rõ ràng đây không phải là trải nghiệm đầu tiên của tác giả
Chừng nào còn có thể đọc và ghi bộ nhớ, thì không thể ngăn gian lận trực tuyến trong các game FPS
Quét chữ ký là phần gây nghiện nhất của reverse engineering. Bạn lập một danh sách chữ ký, viết binding cho ngôn ngữ scripting để gọi các con trỏ hàm. Đây là nền tảng để nhiều nền tảng mod bên thứ ba hoạt động
Gian lận trong game multiplayer là một vấn đề lớn, phá hủy niềm tin vào các game FPS lớn. Là một người chơi CS, tôi đã chơi thử game CoD mới một thời gian ngắn, nhưng không có game nào tôi có thể khuyến nghị vì nạn gian lận. Những game như Escape From Tarkov còn có gian lận kiểu đánh cắp nòng súng của bạn và ép game/PC phải thoát. Chế độ chơi cạnh tranh của Counter-Strike hoạt động như một khu quảng cáo gian lận ngay trong game. Valorant tốt hơn các game khác nhờ hệ thống anti-cheat xâm nhập sâu, nhưng không sạch như những người hâm mộ của nó tuyên bố. Ngành matchmaking riêng cho Counter-Strike được xây dựng dựa trên lời hứa về anti-cheat và lối chơi ở cấp độ chuyên nghiệp.