Cheat Engine

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Cheat Engine एक उपयोगी प्रोग्राम है जो यह पता लगाने में मदद करता है कि महत्वपूर्ण मान कहां संग्रहीत हैं और उन्हें बदलता है। जब आप इसे डाउनलोड और चलाते हैं, तो आपको इस उपकरण का उपयोग कैसे करें, इसका ट्यूटोरियल प्रस्तुत किया जाता है। यदि आप इस उपकरण का उपयोग करना सीखना चाहते हैं, तो इसे पूरा करना अत्यधिक अनुशंसित है।

आप क्या खोज रहे हैं?

यह उपकरण यह पता लगाने के लिए बहुत उपयोगी है कि कुछ मान (आमतौर पर एक संख्या) किसी प्रोग्राम की मेमोरी में कहां संग्रहीत हैआमतौर पर संख्याएं 4bytes रूप में संग्रहीत होती हैं, लेकिन आप उन्हें डबल या फ्लोट प्रारूप में भी पा सकते हैं, या आप कुछ संख्याओं से अलग देखने की कोशिश कर सकते हैं। इस कारण से, आपको यह सुनिश्चित करने की आवश्यकता है कि आप चुनें कि आप क्या खोज रहे हैं:

आप विभिन्न प्रकार की खोजों को भी इंगित कर सकते हैं:

आप मेमोरी को स्कैन करते समय गेम को रोकने के लिए बॉक्स को भी चेक कर सकते हैं:

हॉटकीज़

Edit --> Settings --> Hotkeys में आप विभिन्न उद्देश्यों के लिए विभिन्न हॉटकीज़ सेट कर सकते हैं जैसे गेम को रोकना (जो कि मेमोरी को स्कैन करते समय बहुत उपयोगी है)। अन्य विकल्प उपलब्ध हैं:

मान को संशोधित करना

एक बार जब आप पाते हैं कि आप जिस मान की खोज कर रहे हैं वह कहां है (इस बारे में अधिक जानकारी अगले चरणों में) तो आप इसे संशोधित कर सकते हैं, इसके मान पर डबल क्लिक करके:

और अंततः मेमोरी में संशोधन करने के लिए चेक मार्क लगाकर:

मेमोरी में परिवर्तन तुरंत लागू होगा (ध्यान दें कि जब तक गेम इस मान का फिर से उपयोग नहीं करता, तब तक मान गेम में अपडेट नहीं होगा).

मान की खोज करना

तो, हम मान लेते हैं कि एक महत्वपूर्ण मान (जैसे आपके उपयोगकर्ता का जीवन) है जिसे आप सुधारना चाहते हैं, और आप इस मान को मेमोरी में खोज रहे हैं)

ज्ञात परिवर्तन के माध्यम से

मान लेते हैं कि आप मान 100 की खोज कर रहे हैं, आप उस मान की खोज करते हैं और आपको बहुत सारी समानताएं मिलती हैं:

फिर, आप कुछ ऐसा करते हैं जिससे मान बदलता है, और आप गेम को रोकते हैं और अगली स्कैन करते हैं:

Cheat Engine उन मानों की खोज करेगा जो 100 से नए मान में बदल गए। बधाई हो, आपने उस पते को पाया जिसे आप खोज रहे थे, आप अब इसे संशोधित कर सकते हैं। यदि आपके पास अभी भी कई मान हैं, तो उस मान को फिर से संशोधित करने के लिए कुछ करें, और पते को फ़िल्टर करने के लिए एक और "अगली स्कैन" करें।

अज्ञात मान, ज्ञात परिवर्तन

इस परिदृश्य में, यदि आप मान नहीं जानते लेकिन आप जानते हैं कि इसे कैसे बदलना है (और यहां तक कि परिवर्तन का मान भी) तो आप अपने नंबर की खोज कर सकते हैं।

तो, "अज्ञात प्रारंभिक मान" प्रकार की स्कैन करने से शुरू करें:

फिर, मान को बदलें, कैसे मान बदला है, यह इंगित करें (मेरे मामले में यह 1 से घटा) और अगली स्कैन करें:

आपको उन सभी मानों की सूची प्रस्तुत की जाएगी जो चयनित तरीके से संशोधित किए गए थे:

एक बार जब आप अपने मान को पा लेते हैं, तो आप इसे संशोधित कर सकते हैं।

ध्यान दें कि कई संभव परिवर्तनों की एक लंबी सूची है और आप परिणामों को फ़िल्टर करने के लिए इन चरणों को जितनी चाहें कर सकते हैं:

यादृच्छिक मेमोरी पता - कोड खोजना

अब तक हमने यह सीखा है कि एक मान को संग्रहीत करने वाले पते को कैसे खोजें, लेकिन यह बहुत संभावना है कि गेम के विभिन्न निष्पादन में वह पता मेमोरी के विभिन्न स्थानों में हो। तो चलिए पता लगाते हैं कि उस पते को हमेशा कैसे खोजें।

कुछ उल्लेखित तरकीबों का उपयोग करते हुए, उस पते को खोजें जहां आपका वर्तमान गेम महत्वपूर्ण मान को संग्रहीत कर रहा है। फिर (यदि आप चाहें तो गेम को रोकते हुए) उस पते पर दाएं क्लिक करें और "इस पते तक पहुंचने वाले को खोजें" या "इस पते पर लिखने वाले को खोजें" का चयन करें:

पहला विकल्प यह जानने के लिए उपयोगी है कि कोड के कौन से भाग इस पते का उपयोग कर रहे हैं (जो कि गेम के कोड को संशोधित करने के लिए उपयोगी है)। दूसरा विकल्प अधिक विशिष्ट है, और इस मामले में अधिक सहायक होगा क्योंकि हम यह जानने में रुचि रखते हैं कि यह मान कहां लिखा जा रहा है

एक बार जब आप इनमें से एक विकल्प का चयन कर लेते हैं, तो डीबगर प्रोग्राम से जुड़ जाएगा और एक नई खाली विंडो दिखाई देगी। अब, गेम खेलें और उस मान को संशोधित करें (गेम को फिर से शुरू किए बिना)। विंडो को उन पते से भरा जाना चाहिए जो मान को संशोधित कर रहे हैं:

अब जब आपने उस पते को खोज लिया है जो मान को संशोधित कर रहा है, तो आप अपने अनुसार कोड को संशोधित कर सकते हैं (Cheat Engine आपको इसे NOPs के लिए जल्दी से संशोधित करने की अनुमति देता है):

तो, आप अब इसे इस तरह से संशोधित कर सकते हैं कि कोड आपके नंबर को प्रभावित न करे, या हमेशा सकारात्मक तरीके से प्रभावित करे।

यादृच्छिक मेमोरी पता - प्वाइंटर खोजना

पिछले चरणों का पालन करते हुए, उस मान को खोजें जिसमें आप रुचि रखते हैं। फिर, "इस पते पर लिखने वाले को खोजें" का उपयोग करके पता लगाएं कि कौन सा पता इस मान को लिखता है और उस पर डबल क्लिक करें ताकि आप डिस्सेम्बली दृश्य प्राप्त कर सकें:

फिर, "[]" के बीच हेक्स मान की खोज करने के लिए एक नई स्कैन करें (इस मामले में $edx का मान):

(यदि कई दिखाई देते हैं तो आपको आमतौर पर सबसे छोटे पते की आवश्यकता होती है) अब, हमने उस प्वाइंटर को खोज लिया है जो उस मान को संशोधित करेगा जिसमें हम रुचि रखते हैं

"पता मैन्युअल रूप से जोड़ें" पर क्लिक करें:

अब, "प्वाइंटर" चेक बॉक्स पर क्लिक करें और टेक्स्ट बॉक्स में पाया गया पता जोड़ें (इस परिदृश्य में, पिछले चित्र में पाया गया पता "Tutorial-i386.exe"+2426B0 था):

(ध्यान दें कि पहले "पता" को स्वचालित रूप से उस प्वाइंटर पते से भरा गया है जिसे आप प्रस्तुत करते हैं)

OK पर क्लिक करें और एक नया प्वाइंटर बनाया जाएगा:

अब, जब भी आप उस मान को संशोधित करते हैं, तो आप महत्वपूर्ण मान को संशोधित कर रहे हैं, भले ही उस मान का पता अलग हो

कोड इंजेक्शन

कोड इंजेक्शन एक तकनीक है जहां आप लक्षित प्रक्रिया में कोड का एक टुकड़ा इंजेक्ट करते हैं, और फिर कोड के निष्पादन को अपने द्वारा लिखित कोड के माध्यम से पुनः मार्गदर्शित करते हैं (जैसे आपको अंक देना बजाय उन्हें घटाने के)।

तो, कल्पना करें कि आपने उस पते को खोज लिया है जो आपके खिलाड़ी के जीवन से 1 घटा रहा है:

डिस्सेम्बल कोड प्राप्त करने के लिए Show disassembler पर क्लिक करें। फिर, Auto assemble विंडो को सक्रिय करने के लिए CTRL+a पर क्लिक करें और Template --> Code Injection का चयन करें।

आप जिस निर्देश को संशोधित करना चाहते हैं उसका पता भरें (यह आमतौर पर स्वचालित रूप से भरा जाता है):

एक टेम्पलेट उत्पन्न होगा:

तो, अपने नए असेंबली कोड को "newmem" अनुभाग में डालें और यदि आप नहीं चाहते कि इसे निष्पादित किया जाए तो "originalcode" से मूल कोड हटा दें। इस उदाहरण में, इंजेक्ट किया गया कोड 1 घटाने के बजाय 2 अंक जोड़ेगा:

Execute पर क्लिक करें और इसी तरह आपका कोड प्रोग्राम में इंजेक्ट किया जाना चाहिए जिससे कार्यक्षमता का व्यवहार बदल जाए!

संदर्भ

  • Cheat Engine ट्यूटोरियल, इसे पूरा करें ताकि Cheat Engine के साथ शुरुआत करना सीख सकें।

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Last updated