बेसिक चीट इंजन हैक्स को रोकने के लिए जो आपके चरों के मूल्यों में हेरफेर करते हैं, फिर आपको उन मूल्यों को छिपाना होगा। आमतौर पर चीट इंजन का उपयोग दिलचस्प चर की स्मृति स्थान की पहचान करने के लिए किया जाता है (जैसे कि सोने या जीवन की मात्रा या क्षमता का उन्नयन स्तर), कहा जाने वाले चर के ज्ञात मूल्य की खोज करके, खेल के अधिक खेलने और मूल्य का कारण बनता है। परिवर्तन, फिर चीट इंजन नए मूल्य के लिए पिछली खोज के परिणाम से एक नई खोज करेगा। यह चीटर को मूल्य के मेमोरी स्थान पर ज़ूम करने की अनुमति देता है, अब वे चीट इंजन का उपयोग करके उस मेमोरी लोकेशन के मूल्य को बदल सकते हैं।
उदाहरण के लिए, मेरे पास 245 गोल्ड है ... चीट इंजन के साथ मैं 245 के लिए एक खोज करता हूं और कई मेमोरी लोकेशन ढूंढता हूं। फिर मैं कुछ और खेलता हूं और अपने सोने को 314 तक लाता हूं, फिर मैं 314 मूल्य के लिए पिछले खोज आउटपुट को खोजता हूं और आसानी से मेमोरी स्थान ढूंढता हूं जहां सोने को संग्रहीत किया जाता है।
इसे रोकने का तरीका यह है कि मेमोरी स्थान में कभी भी वास्तविक मूल्य संग्रहीत न हो। उदाहरण के लिए, मैं किसी ऑब्जेक्ट को उस मूल्य में संग्रहीत करता हूं जिसे आवश्यकता होने पर वास्तविक मूल्य की गणना करना पड़ता है। तो बता दें कि खिलाड़ी के पास 245 स्वर्ण है। यदि वे 245 के मान के साथ मेमोरी लोकेशन की खोज करते हैं, तो वे बहुत से मिल सकते हैं, लेकिन उनमें से कोई भी मेमोरी लोकेशन नहीं होगी, जहां सोने का मूल्य वास्तव में संग्रहीत होता है, ऐसा इसलिए है क्योंकि आप सोने के लिए 245 के मूल्य को स्टोर नहीं करते हैं। जब खेल को यह जानना होगा कि कितना सोना है, तो वह उस वस्तु को पूछेगा जो उसके लिए मूल्य रखता है, जो कि मांग पर गणना करेगा।
तो अब सवाल यह है: आप वास्तव में इस तरह से एक मूल्य कैसे संग्रहीत करते हैं जो इसे प्रकट नहीं करता है? यह थोड़ा मुश्किल और बदसूरत हो जाता है और मुझे यकीन है कि कई तरीके हो सकते हैं। मुझे क्या करना पसंद है एक बूलियन सरणी (या बाइट सरणी) स्टोर करना। सरणी की लंबाई कुछ भी हो सकती है, लेकिन मान लें कि यह 13. है। फिर आपके पास एक काउंटर है जो यह दर्शाता है कि 13 वास्तविक मूल्य में कितनी बार जाता है। इसलिए यदि हम 245 का प्रतिनिधित्व करना चाहते हैं, तो काउंटर का मूल्य 18 होगा। अब सरणी में 245/13 के शेष भाग के लिए सभी बूलियनों को सेट करना होगा ... मूल रूप से मापांक। इस मामले में यह 11 है, इसलिए सरणी में पहले 11 बूलियनों को सही पर सेट किया जाएगा, बाकी झूठे को सेट किया जाएगा। आपके द्वारा किए जाने वाले सभी मूल्य को पुनः प्राप्त करने के लिए, सरणी की लंबाई से काउंटर को गुणा करें, फिर प्रत्येक बूलियन सेट के लिए 1 को सच में जोड़ें (पहले गलत पर रोकते हुए)। अब 245 की संख्या को कभी भी कहीं भी संग्रहीत नहीं किया जाएगा और उस स्मृति स्थान को खोजना मुश्किल होगा जो सोने की राशि को बदलने के लिए हेरफेर करने की आवश्यकता होगी। जब आप इस ऑब्जेक्ट को बनाते हैं, तो आप सरणी की लंबाई अलग-अलग आकारों में सेट करना चाहते हैं (हो सकता है कि कुछ उचित सीमा के बीच संख्या को अनियमित रूप से उठाएं)।
संपादित करें: यह मल्टीप्लेयर और एकल खिलाड़ी के लिए उपयोगी है। ऐसा धोखा है जो मल्टीप्लेयर में भी किया जा सकता है, जहां पैकेट में मूल्यों में परिवर्तन हो सकता है। इसे रोकने के लिए विभिन्न तकनीकों की आवश्यकता होगी, जैसे प्रत्येक पैकेट पर हस्ताक्षर करना।