hacktricks/mobile-pentesting/android-app-pentesting/apk-decompilers.md

7.8 KiB

APK डिकॉम्पाइलर्स

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

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

JD-Gui

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

Jadx

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

  • GUI लॉन्च करने के लिए, बिन निर्देशिका में जाएं और क्रियान्वयन करें: jadx-gui
  • कमांड-लाइन उपयोग के लिए, APK को डिकॉम्पाइल करें: jadx app.apk
  • एक आउटपुट निर्देशिका निर्दिष्ट करने या डिकॉम्पाइलेशन विकल्प समायोजित करने के लिए: jadx app.apk -d <output dir के लिए पथ> --no-res --no-src --no-imports

GDA-android-reversing-Tool

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

Bytecode-Viewer

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

Enjarify

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

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

CFR

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

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

Fernflower

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

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

Krakatau

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

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

procyon

procyon के साथ सरल डिकॉम्पाइलेशन के लिए:

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