เพื่อป้องกันการแฮ็ก Cheat Engine พื้นฐานที่จัดการค่าตัวแปรของคุณคุณต้องซ่อนค่าเหล่านั้น โดยทั่วไปแล้ว Cheat Engine จะใช้เพื่อระบุตำแหน่งหน่วยความจำของตัวแปรที่น่าสนใจ (พูดจำนวนทองคำหรือชีวิตหรืออัพเกรดระดับความสามารถ) โดยทำการค้นหาค่าที่ทราบของตัวแปรดังกล่าวเล่นเกมมากขึ้นและทำให้ค่าที่ เปลี่ยนแล้ว Cheat Engine จะทำการค้นหาใหม่จากผลลัพธ์ของการค้นหาก่อนหน้าสำหรับค่าใหม่ วิธีนี้ทำให้ผู้โกงสามารถซูมเข้าไปที่ตำแหน่งหน่วยความจำของค่าได้ตอนนี้พวกเขาสามารถเปลี่ยนค่าของตำแหน่งหน่วยความจำนั้นได้โดยใช้ Cheat Engine
ตัวอย่างเช่นฉันมี 245 GOLD ... ด้วย Cheat Engine ฉันค้นหา 245 และค้นหาตำแหน่งหน่วยความจำมากมาย จากนั้นฉันก็เล่นเพิ่มขึ้นและนำทองคำของฉันไปที่ 314 จากนั้นฉันค้นหาผลลัพธ์การค้นหาก่อนหน้าสำหรับค่า 314 และค้นหาตำแหน่งหน่วยความจำที่เก็บทองคำได้อย่างง่ายดาย
วิธีการป้องกันสิ่งนี้คือการไม่เก็บค่าจริงไว้ในตำแหน่งหน่วยความจำ ตัวอย่างเช่นฉันเก็บค่าในวัตถุที่มีการคำนวณมูลค่าตามความต้องการจริงเมื่อมีความจำเป็น สมมุติว่าผู้เล่นมี 245 โกลด์ หากพวกเขาค้นหาตำแหน่งหน่วยความจำที่มีค่า 245 พวกเขาอาจพบจำนวนมาก แต่ไม่มีพวกเขาจะเป็นตำแหน่งหน่วยความจำที่เก็บค่าทองคำจริง ๆ นั่นเป็นเพราะคุณไม่ได้เก็บค่า 245 สำหรับทองคำ เมื่อเกมต้องการทราบจำนวนทองคำมันจะถามวัตถุที่มีค่าสำหรับมันซึ่งจะคำนวณตามความต้องการ
ดังนั้นคำถามในตอนนี้คือ: คุณเก็บค่าไว้ในวิธีที่ไม่เปิดเผยได้อย่างไร? นี่เป็นเรื่องยุ่งยากเล็กน้อยและน่าเกลียดและฉันแน่ใจว่ามีหลายวิธีที่สามารถทำได้ สิ่งที่ฉันชอบทำคือเก็บอาร์เรย์บูลีน (หรืออาร์เรย์ไบต์) ความยาวของอาเรย์สามารถเป็นอะไรก็ได้ แต่สมมุติว่ามันคือ 13 จากนั้นคุณมีตัวนับที่แสดงถึงจำนวน 13 ที่เข้าสู่ค่าจริง ดังนั้นถ้าเราต้องการแทน 245 ตัวนับจะมีค่าเป็น 18 ตอนนี้อาร์เรย์จะมีบูลีนทั้งหมดตั้งค่าเป็นจริงสำหรับส่วนที่เหลือของ 245/13 ... โดยทั่วไปโมดูลัส ในกรณีนี้คือ 11 ดังนั้น 11 บูลีนแรกในอาร์เรย์จะถูกตั้งค่าเป็นจริงส่วนที่เหลือตั้งค่าเป็นเท็จ ในการดึงค่าทั้งหมดที่คุณต้องทำคือคูณตัวนับตามความยาวของอาร์เรย์จากนั้นเพิ่ม 1 สำหรับแต่ละชุดบูลีนเป็นจริง (หยุดที่เท็จแรก) ตอนนี้หมายเลข 245 จะไม่ถูกเก็บไว้ที่ใดและยากที่จะค้นหาตำแหน่งหน่วยความจำที่จะต้องมีการปรับเปลี่ยนปริมาณทองคำ คุณอาจต้องการตั้งค่าความยาวของอาเรย์เป็นขนาดต่าง ๆ (อาจสุ่มเลือกตัวเลขระหว่างช่วงที่เหมาะสมบางอย่าง) เมื่อสร้างวัตถุนี้
แก้ไข: สิ่งนี้มีประโยชน์สำหรับผู้เล่นหลายคนและผู้เล่นเดี่ยว มีการโกงที่สามารถทำได้ในหลายคนซึ่งค่าในแพ็คเก็ตสามารถเปลี่ยนแปลงได้ สิ่งนี้จะต้องใช้เทคนิคต่าง ๆ ในการป้องกันเช่นการเซ็นชื่อแต่ละแพ็คเก็ต