x86 Assembly: वह कोड लिखिए जिसे CPU वास्तव में चलाता है
Assembly भाषा बाइनरी को हाथ से लिखे बिना सीधे हार्डवेयर के सबसे करीब पहुँचने का माध्यम है। हर निर्देश सीधे CPU के किसी संचालन से जुड़ा होता है—न रनटाइम, न गार्बेज कलेक्टर, न ही हार्डवेयर के काम करने के तरीके को छिपाने वाली कोई अमूर्त परत। इस ट्रैक में x86 Assembly को मूल सिद्धांतों से लेकर कर्नेल-स्तरीय प्रोग्रामिंग तक शामिल किया गया है, जिससे आपको वह नींव मिलेगी जो कंपाइलर से लेकर एक्सप्लॉइट डेवलपमेंट तक हर चीज़ को समझने योग्य बनाती है।
आप क्या सीखेंगे
आप रजिस्टर, मेमोरी लेआउट और डेटा प्रकारों से शुरुआत करेंगे, फिर बुनियादी निर्देशों और नियंत्रण प्रवाह, स्टैक प्रबंधन और प्रक्रिया कॉलिंग कन्वेंशन पर आगे बढ़ेंगे। इसके बाद ट्रैक में Assembly को C और C++ कोड से जोड़ना, सिस्टम कॉल जारी करना, इंटरप्ट और अपवाद संभालना तथा फ़्लोटिंग-पॉइंट यूनिट और SIMD निर्देशों के साथ काम करना शामिल है। उन्नत पाठ्यक्रमों में डीबगिंग और रिवर्स इंजीनियरिंग, मेमोरी सुरक्षा तंत्र, वर्चुअलाइज़ेशन, कर्नेल-स्तरीय ड्राइवर प्रोग्रामिंग और एक्सप्लॉइटेशन तकनीकों सहित निम्न-स्तरीय प्रदर्शन अनुकूलन शामिल हैं।
सीखने की राह
बारह पाठ्यक्रम A2 से C2 तक फैले हैं। निःशुल्क परिचयात्मक पाठ्यक्रम x86 सिंटैक्स और उसकी मानसिक रूपरेखा की नींव रखता है। B1 और B2 पाठ्यक्रम व्यावहारिक मूल बातों—रजिस्टर, नियंत्रण प्रवाह, स्टैक और प्रक्रियाओं—को विकसित करते हैं। इसके बाद ट्रैक C1 स्तर की गहराई में जाता है और C/C++ इंटरऑप, सिस्टम कॉल, इंटरप्ट, SIMD और रिवर्स इंजीनियरिंग पर पाँच पाठ्यक्रम शामिल करता है। मेमोरी सुरक्षा और वर्चुअलाइज़ेशन तथा कर्नेल-स्तरीय प्रोग्रामिंग और ड्राइवर पर दो C2 पाठ्यक्रमों के बाद प्रदर्शन अनुकूलन और एक्सप्लॉइटेशन का अंतिम पाठ्यक्रम आता है, जो कैश व्यवहार से लेकर सुरक्षा-संबंधी निम्न-स्तरीय तकनीकों तक सबको एक साथ जोड़ता है।
यह कैसे काम करता है
हर पाठ्यक्रम छोटे, केंद्रित पाठों में विभाजित है, जिन्हें आप रीयल-टाइम फ़ीडबैक वाले अंतर्निर्मित कोड एडिटर में पूरा करते हैं। जब आप किसी निर्देश एन्कोडिंग या ऐसे सेगफ़ॉल्ट पर अटकते हैं जिसका कारण आप नहीं समझ पा रहे हैं, तब AI ट्यूटर उपलब्ध रहता है।