APK decompilers

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

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 decompiler के रूप में, JD-Gui आपको APK फ़ाइलों के भीतर Java कोड की जांच करने की अनुमति देता है। इसका उपयोग करना सीधा है; APK प्राप्त करने के बाद, बस इसे JD-Gui के साथ खोलें और कोड की जांच करें।

Jadx

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

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

GDA-android-reversing-Tool

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

Bytecode-Viewer

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

Enjarify

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

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

CFR

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

  • मानक डिकंपाइल के लिए: 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 डिकंपाइलिंग पर विस्तृत नियंत्रण प्रदान करता है, विशेष रूप से बाहरी पुस्तकालयों को संभालने के लिए।

  • Krakatau का उपयोग करने के लिए मानक पुस्तकालय पथ और डिकंपाइल करने के लिए JAR फ़ाइल निर्दिष्ट करें: ./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"

frida-DEXdump

यह उपकरण मेमोरी में चल रहे APK का DEX डंप करने के लिए उपयोग किया जा सकता है। यह स्थिर ऑबफस्केशन को हराने में मदद करता है जो एप्लिकेशन को मेमोरी में निष्पादित करते समय हटा दिया जाता है।

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें