रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें · पाठ

x86/x64 असेंबली की मूल बातें

x86 और x64 असेंबली भाषा के मूल निर्देशों और वाक्यविन्यास से परिचित हों।

पाठ 1, कुल 4 में से11 चरण

x86/x64 असेंबली की मूल बातें, CoddyKit पर रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

असेंबली भाषा क्या है

असेंबली भाषा की दुनिया में आपका स्वागत है! यह प्रोग्रामिंग की वह सबसे निम्न-स्तरीय भाषा है, जिसे आमतौर पर मनुष्य पढ़ते और लिखते हैं।

यह मशीन कोड का एक सांकेतिक निरूपण है। मशीन कोड वे मूल बाइनरी निर्देश होते हैं, जिन्हें कंप्यूटर का प्रोसेसर (CPU) सीधे समझता और निष्पादित करता है। इसे CPU की मूल भाषा की तरह समझें।

RE का निम्न-स्तरीय दृष्टिकोण

रिवर्स इंजीनियरों के लिए असेंबली भाषा को समझना अत्यंत महत्वपूर्ण है। जब आप किसी कंपाइल किए गए प्रोग्राम का विश्लेषण करते हैं, तो आपके पास शायद ही कभी मूल सोर्स कोड होता है।

इसके बजाय, आप उसके असेंबली निरूपण को देखते हैं। असेंबली सीखने से आपको ये कार्य करने में सहायता मिलती है:

  • यह ठीक-ठीक समझना कि कोई प्रोग्राम कैसे निष्पादित होता है।
  • फ़ंक्शन, डेटा और नियंत्रण प्रवाह की पहचान करना।
  • छिपे हुए व्यवहार या कमज़ोरियों का पता लगाना।

x86 बनाम x64: अंतर

जब हम x86/x64 असेंबली की बात करते हैं, तो हमारा आशय Intel और AMD प्रोसेसरों के निर्देश सेट से होता है। मुख्य अंतर आर्किटेक्चर की 'चौड़ाई' में है:

  • x86: 32-बिट आर्किटेक्चर को दर्शाता है।
  • x64: 64-बिट आर्किटेक्चर को दर्शाता है, जिसे AMD64 या Intel 64 भी कहा जाता है।

हालाँकि x64 में अधिक रजिस्टर और व्यापक डेटा पथ होते हैं, फिर भी कई मूलभूत निर्देश समान रहते हैं और अक्सर उनके विस्तारित संस्करण उपलब्ध होते हैं।

निर्देश का मूल स्वरूप

असेंबली निर्देश सामान्यतः एक सरल प्रारूप का पालन करते हैं: INSTRUCTION destination, source।

  • INSTRUCTION: यह किया जाने वाला ऑपरेशन है (जैसे, स्थानांतरित करना, जोड़ना, घटाना)।
  • गंतव्य: वह स्थान जहाँ ऑपरेशन का परिणाम संग्रहीत किया जाएगा।
  • स्रोत: वह डेटा या स्थान जिस पर ऑपरेशन किया जाना है।

कुछ निर्देशों में एक या कोई भी ऑपरेंड हो सकता है। (गंतव्य, स्रोत) का क्रम Intel सिंटैक्स में सामान्य है, जिसका हम उपयोग करेंगे।

MOV निर्देश

MOV निर्देश सबसे मूलभूत निर्देशों में से एक है। यह 'move' के लिए प्रयुक्त होता है और स्रोत से गंतव्य तक डेटा की प्रतिलिपि बनाने के लिए उपयोग किया जाता है।

यह ध्यान रखना महत्वपूर्ण है कि MOV स्रोत से डेटा को 'काटता' या 'हटाता' नहीं है; यह केवल उसकी प्रतिलिपि बनाता है और स्रोत को अपरिवर्तित छोड़ देता है।

इसका सामान्य रूप है: MOV destination, source

MOV के उदाहरण (अवधारणात्मक)

आइए MOV के कुछ अवधारणात्मक उदाहरण देखें। हम EAX, EBX, RCX आदि जैसे सामान्य x86/x64 रजिस्टर नामों का उपयोग करेंगे, जो CPU के अंदर मौजूद बहुत छोटे भंडारण स्थान होते हैं। अभी उनके सटीक कार्य को लेकर चिंता न करें!

  • MOV EAX, EBX: रजिस्टर EBX के मान की प्रतिलिपि रजिस्टर EAX में बनाएँ।
  • MOV RCX, RDX: RDX के मान की प्रतिलिपि RCX में बनाएँ (64-बिट संस्करण)।
  • MOV EAX, 123: नियत मान 123 की प्रतिलिपि रजिस्टर EAX में बनाएँ।

अंकगणित: ADD और SUB

केवल डेटा को स्थानांतरित करने के अलावा, असेंबली बुनियादी अंकगणितीय ऑपरेशन की सुविधा भी देती है। इनमें से दो सामान्य ऑपरेशन ADD और SUB हैं।

  • ADD destination, source: source के मान को destination के मान में जोड़ता है और परिणाम को destination में संग्रहीत करता है।
  • SUB destination, source: destination के मान में से source का मान घटाता है और परिणाम को destination में संग्रहीत करता है।

ये ऑपरेशन गंतव्य ऑपरेंड को सीधे संशोधित करते हैं।

ADD/SUB के उदाहरण (अवधारणात्मक)

यहाँ ADD और SUB के कुछ अवधारणात्मक उदाहरण दिए गए हैं:

  • ADD EAX, EBX: EAX = EAX + EBX
  • SUB RCX, 10: RCX = RCX - 10
  • ADD RDX, R8: RDX = RDX + R8 (64-बिट सामान्य-उद्देश्य रजिस्टर R8 का उपयोग करते हुए)

ध्यान दें कि ऑपरेशन के परिणाम से गंतव्य ऑपरेंड का मान अपडेट हो जाता है।

तत्काल मान और ऑपरेंड

असेंबली में 'ऑपरेंड' और 'तत्काल मान' शब्द महत्वपूर्ण हैं:

  • ऑपरेंड: वह मान या स्थान जिस पर कोई निर्देश कार्य करता है। यह रजिस्टर, मेमोरी पता या तत्काल मान हो सकता है।
  • तत्काल मान: ऐसा नियत मान जो सीधे निर्देश के अंदर एन्कोड किया जाता है। उदाहरण के लिए, MOV EAX, 123 में 123 एक तत्काल मान है।

इन शब्दों को समझने से आपको यह समझने में सहायता मिलती है कि कोई निर्देश किस प्रकार के डेटा को संभाल रहा है।

असेंबली की मूल बातें: जाँच

निम्नलिखित में से कौन-सा x86/x64 असेंबली में MOV निर्देश के कार्य का सबसे अच्छा वर्णन करता है?

पुनरावलोकन: असेंबली की मूलभूत बातें

बहुत अच्छा! आपने x86/x64 प्रोसेसरों के लिए असेंबली भाषा की दुनिया में अभी अपना पहला कदम रखा है।

हमने इन विषयों को कवर किया:

  • असेंबली भाषा क्या है और रिवर्स इंजीनियरिंग के लिए यह क्यों महत्वपूर्ण है।
  • निर्देश का मूल प्रारूप: INSTRUCTION destination, source।
  • MOV (प्रतिलिपि बनाना), ADD (जोड़ना) और SUB (घटाना) जैसे मूलभूत निर्देश।
  • तत्काल मानों और ऑपरेंड की अवधारणा।

अब हम रजिस्टरों और मेमोरी के साथ उनके परस्पर संबंध को अधिक गहराई से समझेंगे!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Assembly सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “x86/x64 असेंबली की मूल बातें” पाठ निःशुल्क है?

हाँ — रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “x86/x64 असेंबली की मूल बातें” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“x86/x64 असेंबली की मूल बातें” में मैं क्या सीखूँगा?

x86 और x64 असेंबली भाषा के मूल निर्देशों और वाक्यविन्यास से परिचित हों। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“x86/x64 असेंबली की मूल बातें” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें पाठ में कोड लिख और चला सकता हूँ?

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

इस पाठ्यक्रम के सभी पाठ

  1. x86/x64 असेंबली की मूल बातें
  2. रजिस्टर और मेमोरी संचालन
  3. नियंत्रण प्रवाह और फ़ंक्शन कॉल
  4. स्टैक और कॉलिंग कन्वेंशन
← रिवर्स इंजीनियरिंग और बाइनरी विश्लेषण की मूल बातें पर वापस जाएँ