
Reko एक बाइनरी डीकंपाइलर है।
Reko (स्वीडिश: "सभ्य, अनुग्रहकारी") मशीन कोड बाइनरीज़ के लिए एक डिकंपाइलर है। यह परियोजना GNU जनरल पब्लिक लाइसेंस के तहत स्वतंत्र रूप से उपलब्ध है।
यह परियोजना अपने लक्ष्यों को प्राप्त करने में सहायता के लिए फ्रंट एंड, कोर डिकंपाइलर इंजन और बैक एंड से मिलकर बनी है। इस समय एक कमांड-लाइन, एक विंडोज GUI, और एक ASP.NET फ्रंट एंड मौजूद हैं। डिकंपाइलर इंजन फ्रंट एंड से इनपुट प्राप्त करता है, या तो अलग-अलग निष्पादन योग्य फ़ाइलों या डिकंपाइलर प्रोजेक्ट फ़ाइलों के रूप में। Reko प्रोजेक्ट फ़ाइलों में बाइनरी फ़ाइल के बारे में अतिरिक्त जानकारी होती है, जो डिकंपाइलेशन प्रक्रिया या आउटपुट को स्वरूपित करने में सहायक होती है। फिर डिकंपाइलर इंजन इनपुट बाइनरी का विश्लेषण करने के लिए आगे बढ़ता है।
![]() लोड की गई ARM बाइनरी निष्पादन योग्य का बाइट मैप दृश्य |
![]() लोड की गई ARM बाइनरी निष्पादन योग्य का डिकंपाइल किया गया दृश्य |
Reko का लक्ष्य न्यूनतम उपयोगकर्ता हस्तक्षेप के साथ विभिन्न प्रोसेसर आर्किटेक्चर और निष्पादन योग्य फ़ाइल स्वरूपों के डिकंपाइलेशन का समर्थन करना है। पूरी सूची के लिए, समर्थित बाइनरीज़ पृष्ठ देखें।
कृपया ध्यान दें कि कई सॉफ़्टवेयर लाइसेंस अपने मशीन कोड बाइनरीज़ के डिकंपाइलेशन या अन्य रिवर्स इंजीनियरिंग को प्रतिबंधित करते हैं। इस डिकंपाइलर का उपयोग केवल तभी करें जब आपके पास बाइनरी को डिकंपाइल करने के कानूनी अधिकार हों (उदाहरण के लिए यदि बाइनरी आपकी अपनी है)।
आधिकारिक रिलीज़ हर कुछ महीनों में Github और SourceForge पर प्रकाशित होती हैं। जो उपयोगकर्ता स्वयं Reko का निर्माण नहीं कर सकते या नहीं करना चाहते, वे Cirrus CI इंटीग्रेशन बिल्डर या Github Actions इंटीग्रेशन बिल्डर का आउटपुट डाउनलोड कर सकते हैं। स्वाभाविक रूप से आप स्रोतों से परियोजना का निर्माण कर सकते हैं: नीचे "हैकिंग" देखें।
आपकी मशीन पर पहले निम्नलिखित पूर्वापेक्षा सॉफ़्टवेयर स्थापित होना चाहिए:
एक उपयुक्त इंस्टॉलर डाउनलोड करें और इसे लक्ष्य मशीन पर चलाएं।
स्थापना के बाद, आप या तो इंटीग्रेशन बिल्ड सर्वर से सीधे बाइनरी डाउनलोड करके, या स्रोतों से Reko बनाकर (नीचे हैकिंग देखें) आगे बढ़ सकते हैं।
Reko की विभिन्न विशेषताओं से परिचित होने के लिए, आप उपयोगकर्ता मार्गदर्शिका पढ़ सकते हैं। यदि आप परियोजना के आंतरिक कार्यप्रणाली में रुचि रखते हैं, तो विकी देखें।
आप issue tracker पर किसी भी समस्या की रिपोर्ट कर सकते हैं या Reko से संबंधित कोई भी प्रश्न पूछ सकते हैं। आप Reko Gitter.im चैटरूम का भी प्रयास कर सकते हैं। Reko स्वयंसेवकों के प्रयासों से उनके खाली समय में बनाया गया है, इसलिए तदनुसार अपनी प्रतिक्रिया-समय की अपेक्षाओं को समायोजित करें।
Reko बनाने के लिए, https://github.com/uxmal/reko को क्लोन करके शुरू करें। आप समाधान फ़ाइल Reko-decompiler.slnx बनाने के लिए एक IDE या कमांड लाइन का उपयोग कर सकते हैं। Reko को संकलित करने के लिए .NET 8.0 SDK की आवश्यकता है। यदि आप IDE उपयोगकर्ता हैं, तो Visual Studio 2022 के हालिया संस्करण का उपयोग करें। यदि आप कमांड लाइन का उपयोग करके बनाना चाहते हैं, तो कमांड का उपयोग करें
dotnet msbuild -p:Platform={platform} -p:Configuration={config} -v:m -t:build_solution -m ./src/BuildTargets/BuildTargets.csproj
{config} को Debug या Release से बदलें, और {platform} को x64 या x86 से बदलें।
नोट: कृपया हमें बताएं यदि आप अभी भी संकलन करने में सक्षम नहीं हैं, ताकि हम समस्या को ठीक करने में आपकी सहायता कर सकें।
यदि आप कोड योगदान देने में रुचि रखते हैं, तो अन्वेषण करने के लिए क्षेत्रों के लिए रोड मैप देखें। विकी में Reko परियोजना के आंतरिक कार्यप्रणाली के बारे में अधिक जानकारी है। कृपया स्टाइल गाइड देखें।
यदि आपने अपनी डेवलपमेंट मशीन पर WiX टूलसेट स्थापित नहीं किया है तो Visual Studio में समाधान लोड करने पर आपको चेतावनी या त्रुटियाँ प्राप्त होंगी। आप चेतावनियों को सुरक्षित रूप से अनदेखा कर सकते हैं; WiX टूलसेट का उपयोग केवल MSI इंस्टॉलर पैकेज बनाते समय किया जाता है। यदि आप पहले से ही परियोजना को संकलित करने में सक्षम हैं तो आपको एक इंस्टॉलर बनाने की आवश्यकता नहीं होगी: बिल्ड प्रक्रिया सभी आवश्यक फ़ाइलों को एक ही निर्देशिका में कॉपी करती है। यदि आप WiX टूलचेन के साथ एक MSI इंस्टॉलर बनाना चाहते हैं, तो आप इसे यहाँ डाउनलोड कर सकते हैं: http://wixtoolset.org/releases/
आप क्या करते हैं इसके आधार पर, Visual Studio NativeProxy को पुनर्निर्माण करने का प्रयास कर सकता है जो CMake पर निर्भर करता है। आप या तो CMake स्थापित करें और सुनिश्चित करें कि यह आपके PATH में जोड़ा गया है, या Visual Studio में प्रोजेक्ट को अक्षम करें।
Visual Studio के भाग के रूप में CMake स्थापित होना Developer Command Prompt से msbuild चलाने के लिए पर्याप्त है, लेकिन VS के अंदर से निर्माण करते समय नहीं, जब तक आपने इसे अपने वैश्विक PATH में नहीं जोड़ा है। CMake को बाहरी रूप से स्थापित करने से आप स्थापना के दौरान इसे PATH में जोड़ सकते हैं।
नोट: Visual Studio के कुछ संस्करणों में एक समस्या है जो प्रोजेक्ट लोड करते समय प्रकट हो सकती है। आप इसे नोटिस करेंगे यदि Visual Studio "Running Background Tasks" पर अटक जाता है और आपको प्रोजेक्ट बनाने नहीं देता है। एक समाधान यह है कि सॉल्यूशन एक्सप्लोरर में "NativeProxy" प्रोजेक्ट पर राइट-क्लिक करें और "Unload Project" चुनें। फिर प्रोजेक्ट सही ढंग से लोड और बिल्ड हो पाएगा। कमांड लाइन से निर्माण करते समय यह समस्या नहीं होती है।
सॉल्यूशन फ़ोल्डर Drivers में निष्पादन योग्य हैं जो उपयोगकर्ता इंटरफ़ेस के रूप में कार्य करते हैं। उपनिर्देशिका WindowsDecompiler में Windows Forms उपयोगकर्ता इंटरफ़ेस के लिए GUI क्लाइंट है। उपनिर्देशिका AvaloniaShell में क्रॉस-प्लेटफ़ॉर्म Avalonia उपयोगकर्ता इंटरफ़ेस (अभी भी निर्माणाधीन) के लिए GUI क्लाइंट है। CmdLine एक कमांड लाइन ड्राइवर है।
नवीनतम रिलीज़ के लिए रिलीज़ लॉग देखें।