Recaf


जावा प्रोग्रामों की जटिलताओं को दूर करने वाला एक उपयोग में आसान आधुनिक जावा बाइटकोड संपादक।
डाउनलोड
विशेषताएँ
- जावा बाइटकोड को उच्च या निम्न स्तर से आसानी से संपादित करें (कष्टप्रद भागों को छोड़कर)
- Recaf के भीतर संपादक सुविधाएँ संकलित जावा अनुप्रयोगों के जटिल विवरणों को सरल बनाती हैं, जैसे:
- कॉन्स्टैंट पूल
- स्टैक फ्रेम गणना
- आवश्यकता पड़ने पर वाइड इंस्ट्रक्शन का उपयोग
- और भी बहुत कुछ!
- संदर्भ-संवेदनशील क्रियाओं के साथ उपयोग में आसान नेविगेट करने योग्य इंटरफ़ेस
- मानक जावा और एंड्रॉइड अनुप्रयोगों के लिए समर्थन
- कई डीकंपाइलरों के बीच स्विच करने की क्षमता, उनके सभी पैरामीटर्स पूरी तरह से कॉन्फ़िगर करने योग्य
- निर्मित कंपाइलर जो डीकंपाइल की गई कक्षाओं को पुनः संकलित करने की अनुमति देता है, भले ही कुछ संदर्भित कक्षाएँ गायब हों (जहाँ समर्थित हो, कोड की जटिलता और ऑबफस्केशन के आधार पर समर्थन भिन्न हो सकता है)
- एक सरल सिंटैक्स और सहायक टूलिंग के साथ बाइटकोड असेंबलर
- विधियों में किसी भी बिंदु पर स्थानीय चर और स्टैक मानों की स्थिति देखें
- स्पष्ट डिस्सेम्बल कोड के लिए इंडेक्स के बजाय नामों से चर तक पहुँचें
- जावा स्रोत कोड के स्निपेट्स को स्वचालित रूप से बाइटकोड अनुक्रमों में बदलें
- विभिन्न सामग्री की खोज: स्ट्रिंग्स/संख्यात्मक स्थिरांक, कक्षाएं और सदस्य संदर्भ, निर्देश पैटर्न
- ऑबफस्केटेड कोड को डी-ऑबफस्केट करने के उपकरण
- विशेष रूप से रिवर्स इंजीनियरिंग टूल्स को क्रैश करने के उद्देश्य से बनाई गई क्लास फ़ाइलें Recaf में खोलने पर स्वचालित रूप से पैच हो जाती हैं
- विशेष रूप से तैयार की गई jar/zip फ़ाइलें JVM द्वारा पढ़ी जाने के अनुसार पढ़ी जाती हैं, जिससे उन चालाकी भरे ट्रिक्स को बायपास किया जाता है जो रिवर्स इंजीनियरिंग टूल्स को गलत डेटा दिखा सकती हैं
- ऑबफस्केटेड कक्षाओं और उनके सदस्यों के स्वचालित नाम बदलने के लिए समर्थन
- कक्षाओं और उनके सदस्यों के मैन्युअल नाम बदलने के लिए समर्थन (और इन मैपिंग को अन्य टूल्स में उपयोग के लिए विभिन्न मैपिंग प्रारूपों में निर्यात करना)
- सामान्य ऑबफस्केशन रणनीतियों को सरल बनाने के लिए बाइटकोड ट्रांसफॉर्मर
- इंस्ट्रुमेंटेशन क्षमताओं के साथ चल रहे जावा प्रक्रिया से अटैच करें
- और भी बहुत कुछ
सुविधाओं की पूरी सूची उपयोगकर्ता दस्तावेज़ीकरण में पाई जा सकती है।
स्क्रिप्टिंग और प्लगइन्स
Recaf अपनी लगभग सभी कार्यक्षमता को मॉड्यूलर API के माध्यम से उजागर करता है। व्यवहार को स्वचालित करना स्क्रिप्ट के साथ आसानी से किया जा सकता है, या अधिक जटिल स्थितियों के लिए प्लगइन्स के साथ किया जा सकता है। प्लगइन्स के माध्यम से अतिरिक्त सुविधाएँ भी जोड़ी जा सकती हैं, जो उन्हें प्रदान करने वाले API में हुक पंजीकृत कर सकते हैं।
अपनी स्वयं की स्क्रिप्ट या प्लगइन बनाने के लिए, डेवलपर दस्तावेज़ीकरण देखें, विशेष रूप से "प्लगइन्स और स्क्रिप्ट" अनुभाग।
कमांड लाइन
Recaf कमांड लाइन एप्लिकेशन के रूप में चल सकता है, जो विशेष रूप से स्टार्टअप पर प्रदान की गई स्क्रिप्ट के साथ संयुक्त होने पर उपयोगी होता है। आप सभी वर्तमान लॉन्च आर्गुमेंट्स को एप्लिकेशन आर्गुमेंट के रूप में --help पास करके देख सकते हैं।
डेवलपमेंट सेटअप
git clone https://github.com/Col-E/Recaf.git के माध्यम से रिपॉजिटरी को क्लोन करें।
प्रोजेक्ट को IDE में खोलें या ग्रेडल के साथ बिल्ड तैयार करें।
IDE:
build.gradle फ़ाइल से प्रोजेक्ट आयात करें
- मुख्य क्लास
software.coley.recaf.Main के साथ एक रन कॉन्फ़िगरेशन बनाएं
IDE के बिना:
gradlew build चलाएं
- आउटपुट यहाँ स्थित होगा:
recaf-ui/build/libs/recaf-ui-{VERSION}-all.jar