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

70 lines
7.8 KiB
Markdown

# APK डिकॉम्पाइलर्स
<details>
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> के साथ!</strong></summary>
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
</details>
**प्रत्येक उपकरण के लिए अधिक विवरण के लिए मूल पोस्ट की जाँच करें [https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr](https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr)**
### [JD-Gui](https://github.com/java-decompiler/jd-gui)
पहले GUI जावा डिकॉम्पाइलर के रूप में, **JD-Gui** आपको APK फ़ाइलों में जावा कोड की जांच करने की अनुमति देता है। इसका उपयोग करना सरल है; APK प्राप्त करने के बाद, JD-Gui के साथ उसे खोलकर कोड की जांच करें।
### [Jadx](https://github.com/skylot/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](https://github.com/charles2gan/GDA-android-reversing-Tool)
**GDA**, एक केवल Windows उपकरण, एंड्रॉइड ऐप्स के पुनर्अभिनिर्माण के लिए व्यापक सुविधाएँ प्रदान करता है। GDA को अपने Windows सिस्टम पर स्थापित करें और चलाएं, फिर विश्लेषण के लिए APK फ़ाइल लोड करें।
### [Bytecode-Viewer](https://github.com/Konloch/bytecode-viewer/releases)
**Bytecode-Viewer** का उपयोग करके आप विभिन्न डिकॉम्पाइलर्स का उपयोग करके APK फ़ाइलों का विश्लेषण कर सकते हैं। डाउनलोड करने के बाद, Bytecode-Viewer चलाएं, अपना APK लोड करें, और समकालिक विश्लेषण के लिए उपयोग करने के लिए डिकॉम्पाइलर्स का चयन करें।
### [Enjarify](https://github.com/Storyyeller/enjarify)
**Enjarify** Dalvik bytecode को जावा bytecode में अनुवादित करता है, जिससे जावा विश्लेषण उपकरण एंड्रॉइड एप्लिकेशन का अध्ययन करने के लिए अधिक प्रभावी हो सकते हैं।
- Enjarify का उपयोग करने के लिए, चलाएं: `enjarify app.apk`
यह प्रदान की गई APK का जावा bytecode समकक्ष उत्पन्न करता है।
### [CFR](https://github.com/leibnitz27/cfr)
**CFR** आधुनिक जावा सुविधाओं को डिकॉम्पाइल करने की क्षमता रखता है। इसका उपयोग निम्नलिखित प्रकार से करें:
- मानक डिकॉम्पाइलेशन के लिए: `java -jar ./cfr.jar "app.jar" --outputdir "output_directory"`
- बड़े JAR फ़ाइलों के लिए, JVM मेमोरी आवंटन समायोजित करें: `java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"`
### [Fernflower](https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine)
**Fernflower**, एक विश्लेषणात्मक डिकॉम्पाइलर, स्रोत से निर्माण की आवश्यकता है। निर्माण के बाद:
- एक JAR फ़ाइल को डिकॉम्पाइल करें: `java -jar ./fernflower.jar "app.jar" "output_directory"`
फिर, उत्पन्न JAR से `.java` फ़ाइलों को `unzip` का उपयोग करके निकालें।
### [Krakatau](https://github.com/Storyyeller/Krakatau)
**Krakatau** डिकॉम्पाइलेशन पर विस्तृत नियंत्रण प्रदान करता है, विशेष रूप से बाह्य पुस्तकालयों को संभालने के लिए।
- सामान्य पुस्तकालय पथ और डिकॉम्पाइल करने के लिए JAR फ़ाइल को निर्दिष्ट करके Krakatau का उपयोग करें: `./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"`
### [procyon](https://github.com/mstrobel/procyon)
**procyon** के साथ सरल डिकॉम्पाइलेशन के लिए:
- एक JAR फ़ाइल को एक निर्दिष्ट निर्देशिका में डिकॉम्पाइल करें: `procyon -jar "app.jar" -o "output_directory"`