विंडोज पोर्टेबल निष्पादन योग्य प्रारूप की अपनी छोटी बारीकियां हैं, इसलिए यहां एक त्वरित मार्गदर्शिका है कि वे कैसे काम करते हैं।
विंडोज़ पोर्टेबल एक्ज़ीक्यूटेबल (पीई) एक्ज़ीक्यूटेबल्स और अन्य बाइनरी फ़ाइल प्रकारों के लिए विंडोज़ मूल फ़ाइल स्वरूप है। पीई फ़ाइल प्रारूप को प्लेटफ़ॉर्म-स्वतंत्र होने के लिए डिज़ाइन किया गया है, इसलिए इसका उपयोग किसी भी विंडोज़ मशीन पर किया जा सकता है उसी ऑपरेटिंग सिस्टम संस्करण और प्रोसेसर आर्किटेक्चर को चला रहा है जिसके लिए फ़ाइल थी संकलित।
तो, आइए विंडोज पीई फ़ाइल प्रारूप को विच्छेदित करें, और इसकी संरचना और घटक घटकों के बारे में जानें।
विंडोज़ पोर्टेबल निष्पादन योग्य फ़ाइल क्या है?
विंडोज पोर्टेबल निष्पादन योग्य प्रारूप की खोज करने से पहले, मूल बातें स्पष्ट करना महत्वपूर्ण है। आइए एक कदम पीछे चलते हैं और Windows PE—COFF की अंतर्निहित अवधारणा के बारे में सीखते हैं।
जब आप सोर्स कोड को किसी प्रोग्राम में कंपाइल करते हैं, तो कंपाइलर एक ऑब्जेक्ट फाइल (.obj) बनाता है। इस ऑब्जेक्ट फ़ाइल में कंप्यूटर के लिए बाइनरी प्रारूप में निर्देश हैं।
COFF या कॉमन ऑब्जेक्ट फाइल फॉर्मेट बाइनरी निर्देशों का प्रतिनिधित्व करने के लिए कन्वेंशन का एक मानकीकृत सेट है। COFF क्रॉस-प्लेटफ़ॉर्म संगतता बनाए रखने में मदद करता है क्योंकि सभी COFF फ़ाइल स्वरूप कोड और डेटा को व्यवस्थित करने के लिए नियमों और सम्मेलनों के समान सेट का पालन करते हैं। हालाँकि COFF मूल रूप से *NIX सिस्टम पर उपयोग के लिए विकसित किया गया था, लेकिन अब यह सभी प्लेटफार्मों पर सर्वव्यापी है।
Windows पोर्टेबल निष्पादन योग्य (PE) फ़ाइल स्वरूप COFF का एक संशोधन है और इसे विशेष रूप से उपयोग करने के लिए विकसित किया गया है 32-बिट और 64-बिट विंडोज सिस्टम. COFF के विपरीत, जो ऑब्जेक्ट फ़ाइलों के लिए एक मानकीकृत प्रारूप प्रदान करता है, Windows PE निष्पादनयोग्य और लाइब्रेरी फ़ाइलों के लिए एक मानकीकृत प्रारूप प्रदान करता है।
इसमें अनुभाग और हेडर शामिल हैं जो प्रश्न में निष्पादन योग्य के बारे में जानकारी प्रदान करते हैं और सिस्टम लोडर को निष्पादन योग्य से संबंधित डेटा प्रबंधित करने में सहायता करते हैं। पीई फाइल में हेडर सिस्टम लोडर को फाइल को मेमोरी पर मैप करने में मदद करते हैं, एपीआई निर्यात/आयात जैसी निर्भरता को हल करते हैं, संसाधनों का प्रबंधन करते हैं और फाइल को निष्पादन के लिए तैयार करते हैं।
लिनक्स का COFF का अपना पुनरावृति भी है; इसे निष्पादन योग्य लिंक फ़ाइल या संक्षेप में, ईएलएफ बाइनरी कहा जाता है। आप फ़ाइल चलाकर जाँच सकते हैं कि कोई फ़ाइल ELF है या नहीं फ़ाइल कमांड लिनक्स पर पहले तर्क के रूप में फ़ाइल नाम के साथ।
विंडोज़ पोर्टेबल निष्पादन योग्य की संरचना
पोर्टेबल निष्पादन योग्य फ़ाइल स्वरूप में कई घटक होते हैं, प्रत्येक एक विशिष्ट उद्देश्य के साथ। इन घटकों में शामिल हैं:
- अनुभाग शीर्षलेख, जो फ़ाइल के प्रत्येक अनुभाग के लेआउट और विशेषताओं का वर्णन करते हैं स्वयं अनुभाग, जिनमें निष्पादन योग्य कोड, डेटा और संसाधन होते हैं।
- पीई हेडर, जो फ़ाइल की समग्र संरचना और आवश्यकताओं के बारे में जानकारी प्रदान करता है।
- डॉस हेडर, जिसमें एक छोटा प्रोग्राम शामिल होता है जो तब चलता है जब फ़ाइल को डॉस सिस्टम पर निष्पादित किया जाता है।
- और अंत में, पीई अनुभाग शीर्षलेख, जो फ़ाइल के भीतर प्रत्येक अनुभाग के स्थान और विशेषताओं का वर्णन करते हैं।
कुल मिलाकर, ये घटक एक संरचित प्रारूप बनाने के लिए एक साथ काम करते हैं जो ऑपरेटिंग सिस्टम को फ़ाइल में निहित निष्पादन योग्य कोड को ठीक से लोड करने, निष्पादित करने और प्रबंधित करने की अनुमति देता है। आइए जानें कि वास्तव में प्रत्येक घटक क्या करता है।
डॉस हैडर
पीई फ़ाइल के पहले भाग को डॉस हैडर कहा जाता है। DOS हेडर में एक छोटी मात्रा में निष्पादन योग्य कोड संग्रहीत होता है जिसे DOS मशीन पर भी चलाया जा सकता है।
इस कोड को MS-DOS स्टब भी कहा जाता है और इसका उपयोग सिस्टम पर एक त्रुटि संदेश भेजने के लिए किया जाता है जो PE फ़ाइल का समर्थन नहीं करता है।
पीई हैडर
पोर्टेबल एक्ज़ीक्यूटेबल हेडर निष्पादन योग्य के बारे में जानकारी देता है, जैसे कि फ़ाइल कितनी बड़ी है, विभिन्न भाग कहाँ स्थित हैं, और निष्पादन योग्य को किन संसाधनों की आवश्यकता है। PE हेडर में निष्पादन योग्य के प्रकार के बारे में भी जानकारी होती है, चाहे वह a विंडोज .DLL फ़ाइल या एक .EXE।
अनुभाग शीर्षलेख
निष्पादन योग्य के कई घटकों जैसे कोड, डेटा और संसाधनों जैसे टेक्स्ट स्ट्रिंग्स, इमेज इत्यादि को व्यवस्थित करने के लिए अनुभाग लागू किए जाते हैं। अनुभाग शीर्षलेखों में प्रत्येक अनुभाग के आकार और स्थान के साथ-साथ संबंधित फ़्लैग्स के बारे में जानकारी शामिल होती है।
प्रत्येक सेक्शन हेडर से जुड़े झंडे सेक्शन की विभिन्न विशेषताओं को इंगित कर सकते हैं, जैसे कि यह निष्पादन योग्य, लिखने योग्य या पठनीय है। ये फ़्लैग ऑपरेटिंग सिस्टम को प्रोग्राम निष्पादन के दौरान प्रत्येक अनुभाग की सामग्री को ठीक से लोड और प्रबंधित करने में मदद करते हैं।
धारा
अनुभागों में स्वयं निष्पादन योग्य का वास्तविक कोड, डेटा और संसाधन शामिल हैं। प्रत्येक खंड एक निश्चित मेमोरी सीमा से जुड़ा होता है और इसकी अपनी विशेषताओं का सेट होता है जो प्रभावित करता है कि ऑपरेटिंग सिस्टम इसे कैसे संभालता है।
अब आप विंडोज पोर्टेबल एक्जीक्यूटेबल फाइल फॉर्मेट के बारे में सब कुछ जान गए हैं
विंडोज पोर्टेबल एक्जिक्यूटेबल एक मजबूत और बहुमुखी फ़ाइल प्रारूप है जिसका उपयोग विभिन्न प्रकार के विंडोज अनुप्रयोगों और सिस्टम घटकों का उत्पादन करने के लिए किया जाता है। पीई फ़ाइल प्रारूप की संरचना को समझकर, डेवलपर्स ऐसे कुशल ऐप्स बना सकते हैं जो विंडोज़ की विशिष्ट विशेषताओं का लाभ उठाते हैं।
कुछ मानक अच्छे का पालन करके, आपका ऐप जिस प्लेटफ़ॉर्म पर चलेगा, उसकी गहराई से समझ हासिल करने के अलावा कोडिंग प्रथाओं के साथ, आप एप्लिकेशन की गुणवत्ता को अधिकतम करने में सक्षम होंगे, भले ही वह जिस प्लेटफॉर्म पर चल रहा हो पर।