Để ngăn chặn các hack Cheat Engine cơ bản thao túng các giá trị của các biến của bạn thì bạn phải ẩn các giá trị đó. Thông thường Cheat Engine được sử dụng để xác định vị trí bộ nhớ của các biến thú vị (giả sử lượng vàng hoặc tuổi thọ hoặc mức nâng cấp của một khả năng) bằng cách tìm kiếm giá trị đã biết của biến đã nói, chơi nhiều trò chơi hơn và khiến giá trị trở thành thay đổi, sau đó Cheat Engine sẽ thực hiện một tìm kiếm mới từ kết quả của tìm kiếm trước đó cho giá trị mới. Điều này cho phép kẻ lừa đảo phóng to vị trí bộ nhớ của giá trị, giờ đây họ có thể thay đổi giá trị của vị trí bộ nhớ đó bằng Cheat Engine.
Ví dụ: tôi có 245 VÀNG ... với Cheat Engine Tôi thực hiện tìm kiếm 245 và tìm nhiều vị trí bộ nhớ. Sau đó, tôi chơi thêm một số thứ và mang số vàng của mình lên tới 314, sau đó tôi tìm kiếm đầu ra tìm kiếm trước đó cho giá trị 314 và dễ dàng tìm vị trí bộ nhớ cho nơi lưu trữ GOLD.
Cách để ngăn chặn điều này là không bao giờ có giá trị thực được lưu trữ trong một vị trí bộ nhớ. Ví dụ, tôi lưu trữ giá trị trong một đối tượng phải tính giá trị thực theo yêu cầu khi được yêu cầu. Vì vậy, hãy nói rằng người chơi có 245 VÀNG. Nếu họ thực hiện tìm kiếm vị trí bộ nhớ có giá trị 245, họ có thể tìm thấy nhiều vị trí nhưng không ai trong số họ sẽ là vị trí bộ nhớ nơi giá trị vàng thực sự được lưu trữ, đó là vì bạn không lưu trữ giá trị 245 cho vàng. Khi trò chơi cần biết bao nhiêu vàng, nó sẽ hỏi đối tượng giữ giá trị của nó, nó sẽ tính toán theo yêu cầu.
Vì vậy, câu hỏi bây giờ là: Làm thế nào chính xác để bạn lưu trữ một giá trị theo cách không tiết lộ nó? Điều này có một chút khó khăn và xấu xí và tôi chắc chắn có nhiều cách nó có thể được thực hiện. Những gì tôi muốn làm là lưu trữ một mảng boolean (hoặc mảng byte). Độ dài của mảng có thể là bất cứ thứ gì, nhưng giả sử nó là 13. Sau đó, bạn có một bộ đếm đại diện cho số lần 13 đi vào giá trị thực tế đó. Vì vậy, nếu chúng ta muốn đại diện cho 245 thì bộ đếm sẽ có giá trị 18. Bây giờ, mảng sẽ có tất cả các giá trị được đặt thành đúng cho phần còn lại của 245/13 ... về cơ bản là mô đun. Trong trường hợp này là 11, vì vậy 11 booleans đầu tiên trong mảng sẽ được đặt thành true, phần còn lại được đặt thành false. Để lấy lại giá trị, tất cả những gì bạn cần làm là nhân bộ đếm với độ dài mảng, sau đó thêm 1 cho mỗi bộ boolean thành true (dừng ở sai đầu tiên). Bây giờ, số 245 sẽ không bao giờ được lưu trữ ở bất cứ đâu và khó có thể tìm thấy vị trí bộ nhớ cần phải thao tác để thay đổi số lượng vàng. Bạn có thể muốn đặt độ dài mảng thành các kích thước khác nhau (có thể chọn ngẫu nhiên một số giữa một số phạm vi hợp lý) khi đối tượng này được tạo.
EDIT: Điều này hữu ích cho nhiều người chơi và chơi đơn. Có sự gian lận cũng có thể được thực hiện trong nhiều người chơi, trong đó các giá trị trong các gói có thể bị thay đổi. Điều này sẽ yêu cầu các kỹ thuật khác nhau để ngăn chặn, như ký từng gói.