1 คะแนน โดย GN⁺ 2025-01-21 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

Reverse Engineering แอนตี้ชีต Call of Duty

  • บทนำ
    • แชร์ผลการศึกษาระบบแอนตี้ชีตโหมดผู้ใช้ของ Black Ops Cold War
    • เป็นเกมของ Treyarch และเรียกระบบนี้ว่า TAC (Treyarch Anti-Cheat)
    • ความแตกต่างหลักเมื่อเทียบกับเกมรุ่นใหม่คือมีหรือไม่มีไดรเวอร์โหมดเคอร์เนล

Arxan

  • บทบาทของ Arxan
    • เป็นเครื่องมือสำหรับ obfuscation/การป้องกันที่ใช้ในเกม Call of Duty
    • เข้ารหัสไฟล์ปฏิบัติการ และจะยุติโปรเซสหากตรวจพบดีบักเกอร์หรือ checksum ไม่ตรงกัน

การเข้ารหัสไฟล์ปฏิบัติการขณะรัน

  • การป้องกันไฟล์ปฏิบัติการ
    • ไฟล์ปฏิบัติการของเกมถูกแพ็กและเข้ารหัสไว้ โดย Arxan จะทำการแกะและถอดรหัส

Checksum ของไฟล์ปฏิบัติการ

  • การเฝ้าระวัง checksum
    • Arxan เฝ้าตรวจสอบการแพตช์ไฟล์ปฏิบัติการอย่างต่อเนื่อง

Jmp Obfuscation

  • การทำให้ฟังก์ชันวิเคราะห์ยาก
    • แยกฟังก์ชันและคำสั่งด้วย jmp เพื่อทำให้การวิเคราะห์ยากขึ้น

การทำให้จุดเริ่มต้นวิเคราะห์ยาก

  • การป้องกัน entry point
    • ติดตาม entry point ของเกมที่ป้องกันด้วย Arxan ได้ยาก

การเข้ารหัสพอยน์เตอร์

  • การป้องกันพอยน์เตอร์
    • พอยน์เตอร์สำคัญจะถูกเข้ารหัสและถอดรหัสทุกครั้งก่อนใช้งาน

วิธีที่ TAC ตรวจจับการมอนิเตอร์

  • การตรวจจับ API hook
    • TAC ใช้ Windows API เพื่อทำงานด้านแอนตี้ชีต และตรวจจับแพตเทิร์นบางอย่าง

การค้นหา runtime API export

  • การค้นหา API
    • TAC ใช้แฮชของโมดูลและแฮชของชื่อ API ในการค้นหา API

Debug register

  • การตรวจจับ debug register
    • TAC ตรวจจับ debug register และยุติโปรเซส

การบังคับใช้ลายเซ็นไดรเวอร์

  • การตรวจจับ test mode
    • ตรวจจับ test mode ของ Windows และทำเครื่องหมายบัญชีผู้ใช้

วิธีที่ TAC ยุติโปรเซส

  • การยุติโปรเซส
    • TAC ยุติโปรเซสด้วยสองวิธี และรีเซ็ตรีจิสเตอร์

การตรวจจับการล็อกชีต

  • การตรวจจับการจัดสรรคอนโซล
    • ตรวจสอบว่ามีการจัดสรรหน้าต่างคอนโซลหรือไม่เพื่อใช้ตรวจจับชีต

การตรวจจับองค์ประกอบภาพ

  • การตรวจจับ ESP และ UI
    • ตรวจจับชีตที่วาดบนหน้าจอโดยใช้ DirectX 12

1 ความคิดเห็น

 
GN⁺ 2025-01-21
ความคิดเห็นจาก Hacker News
  • ควรมีกฎระเบียบทางกฎหมายต่อการลบฟีเจอร์ของผลิตภัณฑ์หลังการขาย โดยเฉพาะเมื่อฟีเจอร์ถูกลบออกผ่านสัญญาหรือ EULA ก็ควรมีการคืนเงินให้เจ้าของเกม การทำให้การซื้อบน Steam เป็นโมฆะไม่ควรเป็นสิ่งที่ทำได้ตามกฎหมาย และแม้จะมีการจำกัดการเข้าสู่ระบบบัญชี ก็ยังควรซื้อขายไอเท็มและคลังไอเท็มได้ หากจะบังคับใช้จรรยาบรรณในเกมแบบผู้เล่นหลายคน ก็ไม่ควรเรียกเก็บเงินค่าเกม มาตรการแบนต้องเป็นไปตามหลักความได้สัดส่วน และต้องมีระบบอุทธรณ์แบบพิจารณาโดยมนุษย์ที่มีการจำกัดค่าใช้จ่าย

  • หลังจากต่อสู้ทางกฎหมายกับ Activision มา 2 ปี ก็สามารถยกเลิกการแบนถาวรที่ไม่เป็นธรรมได้ Activision แพ้คดีโดยไม่มีหลักฐานเรื่องการโกง

  • ฉันไม่ได้เล่นเกมนี้แต่คู่ของฉันเล่น เคยเห็นการสังเกตการณ์ผู้เล่นที่อยู่ใต้ดิน และแม้ไคลเอนต์จะถูกแฮ็กหรือมีการโกง ฝั่งเซิร์ฟเวอร์ก็ควรตรวจสอบให้แน่ใจว่าสถานะของผู้เล่นยังถูกต้อง

  • สงสัยเรื่อง jump obfuscation ว่า unconditional jump มันพบได้บ่อยพอจนกรองเป็นเงื่อนไขล่วงหน้าไม่ได้หรือไม่ รู้สึกว่าน่าจะหาจุดสิ้นสุดของฟังก์ชันได้ง่าย และสงสัยว่าจะวิเคราะห์สแตกเพื่อรู้ตำแหน่งที่ฟังก์ชัน return แล้วหาการเรียกก่อนหน้า return address ได้หรือไม่

  • สงสัยว่าไปเรียนเทคนิคพวกนี้มาจากที่ไหน อยากเข้าใจเนื้อหาในบทความนี้สักครึ่งหนึ่ง แต่ไม่รู้จะเริ่มอย่างไร

  • เคยทำ reverse engineering นิดหน่อยกับเกม MMO ยอดนิยมที่อิง Horde/Alliance และพบว่าทำตามขั้นตอนแทบเหมือนกันทุกอย่าง รวมถึงการแฮช export ด้วย FNV32 ดูเหมือนจะใช้ลูกเล่นที่คล้ายกันมาก เลยสงสัยว่าถูกแพ็กด้วยการป้องกันแบบเดียวกันหรือไม่

  • เป็นงานวิจัยที่ยอดเยี่ยม ชัดเจนว่านี่ไม่ใช่ประสบการณ์ครั้งแรกของผู้เขียน

  • ตราบใดที่ยังอ่านและเขียนหน่วยความจำได้ ก็ไม่มีทางหยุดการโกงออนไลน์ในเกม FPS ได้

  • signature scanning คือส่วนที่ชวนติดที่สุดของการทำ reverse engineering เขียนรายการ signature แล้วเขียน binding ให้ภาษาสคริปต์เพื่อเรียกใช้ function pointer นี่คือพื้นฐานที่ทำให้แพลตฟอร์มม็อดของบุคคลที่สามจำนวนมากทำงานได้

  • การโกงในเกมแบบผู้เล่นหลายคนเป็นปัญหาใหญ่และทำลายความเชื่อมั่นในเกม FPS หลัก ๆ ในฐานะผู้เล่น CS ฉันลองเล่นเกม CoD ใหม่อยู่พักหนึ่ง แต่ไม่มีเกมไหนที่แนะนำได้เพราะปัญหาการโกง เกมอย่าง Escape From Tarkov มีการโกงที่ถึงขั้นขโมยลำกล้องปืนและบังคับปิดเกม/ปิด PC โหมดแข่งขันของ Counter-Strike ทำหน้าที่เหมือนพื้นที่ลงโฆษณาการโกงในเกมเสียมากกว่า Valorant เหนือกว่าเกมอื่นด้วยระบบแอนตี้ชีตที่ล่วงล้ำ แต่ก็ไม่ได้สะอาดอย่างที่แฟน ๆ อ้างกัน อุตสาหกรรม private matchmaking ของ Counter-Strike ถูกสร้างขึ้นบนคำมั่นสัญญาเรื่องแอนตี้ชีตและการเล่นระดับโปร