APK decompilers
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
प्रत्येक उपकरण पर अधिक जानकारी के लिए मूल पोस्ट देखें 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"
यह उपकरण मेमोरी में चल रहे APK का DEX डंप करने के लिए उपयोग किया जा सकता है। यह स्थिर ओबफस्केशन को हराने में मदद करता है जो एप्लिकेशन के मेमोरी में निष्पादित होने पर हटा दिया जाता है।
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)