इसलिए, अगर मैंने सब कुछ सही ढंग से समझ लिया है
काफी नहीं।
यह एक बाइनरी फाइल है और इसका डेटा हम इंसानों के लिए समझ से बाहर है
आमतौर पर एक बाइनरी फ़ाइल मानव और मशीन के लिए समझ से बाहर है, खासकर जब फ़ाइल का उद्देश्य अज्ञात है। ध्यान दें कि सभी बाइनरी फाइलें निष्पादन योग्य फाइलें नहीं हैं। बहुत सारी बाइनरी फाइलें डेटा फाइलें होती हैं जिनमें कोई मशीन निर्देश नहीं होता है। यही कारण है कि फ़ाइल एक्सटेंशन का उपयोग फ़ाइलों का नामकरण करते समय (कुछ ओएस में) किया जाता है। द। CP / M द्वारा निष्पादन योग्य फ़ाइल को निरूपित करने के लिए com एक्सटेंशन का उपयोग किया गया था। द। exe एक्सटेंशन को MS-DOS द्वारा एक और निष्पादन योग्य फ़ाइल स्वरूप को दर्शाने के लिए जोड़ा गया था। * निक्स एग्जीक्यूट एट्रिब्यूट का इस्तेमाल यह बताने के लिए करता है कि कौन सी फाइल एक्जिक्यूट की जा सकती है, हालांकि यह स्क्रिप्ट के साथ-साथ कोड भी हो सकता है।
जैसा कि पहले ही दूसरों द्वारा उल्लेख किया गया है, बाइनरी फाइलें, जिसमें संख्याएं होती हैं, को हेक्स डंप प्रोग्राम या हेक्स संपादक द्वारा देखा जाना चाहिए, न कि एक पाठ दर्शक द्वारा।
ping.exe प्रोग्राम की सामग्री का एक उदाहरण है
वह फाइल वास्तव में एक रीकॉन्सेबल प्रोग्राम है, और उस फाइल के सभी डेटा मशीन कोड का प्रतिनिधित्व नहीं करते हैं। कार्यक्रम के बारे में जानकारी है कि किस गतिशील पुस्तकालयों की आवश्यकता है, कौन सी दिनचर्या को जोड़ना होगा, स्टैक और प्रोग्राम और डेटा मेमोरी के लिए आवश्यकताएं और कार्यक्रम का प्रवेश बिंदु। फ़ाइल में पता ऑपरेंड सापेक्ष मान हो सकते हैं जिन्हें पूर्ण मानों की गणना करने की आवश्यकता होती है, या जिन संदर्भों को हल करने की आवश्यकता होती है।
"प्रोग्राम फ़ाइल" जिसे आप शायद सोच रहे हैं उसे बाइनरी इमेज फाइल या प्रोग्राम मेमोरी का डंप कहा जाता है। ऐसी फ़ाइल में केवल मशीन कोड और डेटा होगा, जिसमें सभी पते संदर्भ ठीक से निष्पादन के लिए निर्धारित होंगे।
भले ही वे असेंबली कोड (मशीन भाषा का निम्नतम स्तर) जानते हों।
असेंबली भाषा मशीन भाषा के समान नहीं है । विशिष्ट (उच्च-स्तरीय भाषा के कंप्यूटरों को बाहर करने के लिए) सीपीयू मशीन कोड को इनपुट के रूप में स्वीकार करता है, एक बार में एक निर्देश। ऑपरेंड या तो रजिस्टर या न्यूमेरिक मेमोरी एड्रेस हैं। असेंबली लैंग्वेज एक उच्च-स्तरीय भाषा है जो निर्देश स्थानों और चर के लिए प्रतीकात्मक लेबल का उपयोग कर सकती है , साथ ही साथ न्यूमेरिक ऑप-कोड को mnemonics के साथ बदल सकती है। असेंबली लैंग्वेज प्रोग्राम को मशीन लैंग्वेज / कोड में बदलना होता है, क्योंकि इसे वास्तव में निष्पादित किया जा सकता है (आमतौर पर यूटिलर, लिंकर और लोडर नामक उपयोगिताओं द्वारा)।
रिवर्स ऑपरेशन, असहमति, कुछ फाइलों के साथ प्रतीकात्मक सूचनाओं की सफलता और नुकसान के लिए प्रोग्राम फाइलों पर किया जा सकता है। मेमोरी डंप या प्रोग्राम इमेज फ़ाइल का डिस्सैस्पेक्शन अधिक परीक्षण और त्रुटि है, क्योंकि कोड और डेटा स्थानों को मैन्युअल रूप से पहचानने की आवश्यकता है।
BTW ऐसे व्यक्ति हैं जो (संख्यात्मक) मशीन कोड पढ़ और कोड कर सकते हैं। बेशक यह एक 32-बिट CISC प्रोसेसर की तुलना में 8-बिट सीपीयू या माइक्रोकंट्रोलर पर एक दर्जन मेमोरी मोड के साथ बहुत आसान है।