APK decompilers

Support HackTricks

प्रत्येक उपकरण पर अधिक जानकारी के लिए https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr से मूल पोस्ट देखें।

एक अग्रणी GUI जावा डिकंपाइलर के रूप में, JD-Gui आपको APK फ़ाइलों के भीतर जावा कोड की जांच करने की अनुमति देता है। इसका उपयोग करना सीधा है; APK प्राप्त करने के बाद, बस इसे JD-Gui के साथ खोलें और कोड की जांच करें।

Jadx एंड्रॉइड अनुप्रयोगों से जावा कोड को डिकंपाइल करने के लिए एक उपयोगकर्ता के अनुकूल इंटरफ़ेस प्रदान करता है। यह विभिन्न प्लेटफार्मों पर उपयोग में आसानी के लिए अनुशंसित है।

  • GUI लॉन्च करने के लिए, बिन निर्देशिका पर जाएं और निष्पादित करें: jadx-gui

  • कमांड-लाइन उपयोग के लिए, एक APK को डिकंपाइल करें: jadx app.apk

  • आउटपुट निर्देशिका निर्दिष्ट करने या डिकंपाइल विकल्प समायोजित करने के लिए: jadx app.apk -d <path to output dir> --no-res --no-src --no-imports

GDA, एक विंडोज-केवल उपकरण, एंड्रॉइड ऐप्स के लिए रिवर्स इंजीनियरिंग के लिए व्यापक सुविधाएँ प्रदान करता है। अपने विंडोज सिस्टम पर GDA स्थापित करें और चलाएँ, फिर विश्लेषण के लिए APK फ़ाइल लोड करें।

Bytecode-Viewer के साथ, आप कई डिकंपाइलरों का उपयोग करके APK फ़ाइलों का विश्लेषण कर सकते हैं। डाउनलोड करने के बाद, Bytecode-Viewer चलाएँ, अपनी APK लोड करें, और एक साथ विश्लेषण के लिए आप जिन डिकंपाइलरों का उपयोग करना चाहते हैं, उन्हें चुनें।

Enjarify डलविक बाइटकोड को जावा बाइटकोड में अनुवाद करता है, जिससे जावा विश्लेषण उपकरण एंड्रॉइड अनुप्रयोगों का अधिक प्रभावी ढंग से विश्लेषण कर सकते हैं।

  • Enjarify का उपयोग करने के लिए, चलाएँ: enjarify app.apk यह प्रदान की गई APK का जावा बाइटकोड समकक्ष उत्पन्न करता है।

CFR आधुनिक जावा सुविधाओं को डिकंपाइल करने में सक्षम है। इसका उपयोग इस प्रकार करें:

  • मानक डिकंपाइल के लिए: java -jar ./cfr.jar "app.jar" --outputdir "output_directory"

  • बड़े JAR फ़ाइलों के लिए, JVM मेमोरी आवंटन समायोजित करें: java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"

Fernflower, एक विश्लेषणात्मक डिकंपाइलर, स्रोत से बनाने की आवश्यकता होती है। बनाने के बाद:

  • एक JAR फ़ाइल को डिकंपाइल करें: java -jar ./fernflower.jar "app.jar" "output_directory" फिर, उत्पन्न JAR से .java फ़ाइलों को unzip का उपयोग करके निकालें।

Krakatau डिकंपाइलिंग पर विस्तृत नियंत्रण प्रदान करता है, विशेष रूप से बाहरी पुस्तकालयों को संभालने के लिए।

  • Krakatau का उपयोग करने के लिए मानक पुस्तकालय पथ और डिकंपाइल करने के लिए JAR फ़ाइल निर्दिष्ट करें: ./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"

procyon के साथ सरल डिकंपाइलिंग के लिए:

  • एक निर्दिष्ट निर्देशिका में JAR फ़ाइल को डिकंपाइल करें: procyon -jar "app.jar" -o "output_directory"

Support HackTricks

Last updated