* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की इच्छा है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
* प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
कभी-कभी यह दिलचस्प होता है कि आप एप्लिकेशन कोड में परिवर्तन करें ताकि आपको छिपी हुई जानकारी तक पहुंच मिले (शायद अच्छी तरह से छिपाए गए पासवर्ड या फ़्लैग्स). फिर, एपीके को डिकंपाइल करना, कोड में परिवर्तन करना और पुनः कंपाइल करना दिलचस्प हो सकता है।
**Visual Studio Code** और [APKLab](https://github.com/APKLab/APKLab) एक्सटेंशन का उपयोग करके आप **स्वचालित रूप से डिकंपाइल कर सकते हैं**, कोड में परिवर्तन कर सकते हैं, **पुनः कंपाइल कर सकते हैं**, एप्लिकेशन को साइन कर सकते हैं और इंस्टॉल कर सकते हैं बिना किसी आदेश को चलाए।
यदि **apktool** आपको कोई त्रुटि देता है, तो **नवीनतम संस्करण** की कोशिश करें। इंस्टॉल करने के लिए [यहां क्लिक करें](https://ibotpeaches.github.io/Apktool/install/)
यदि `apktool` कोड को **डिकोड** करने में **समस्या होती है**, तो [यहां देखें](https://ibotpeaches.github.io/Apktool/documentation/#framework-files) या तालिका **`-r`** का उपयोग करें (संसाधनों को डिकोड न करें)। फिर, यदि समस्या स्रोत कोड में नहीं है और संसाधन में है, तो आपको समस्या नहीं होगी (आप संसाधनों को भी डिकोड नहीं करेंगे)।
आप **इंस्ट्रक्शन** को **बदल सकते हैं**, कुछ चरों की **मान** बदल सकते हैं या **नए इंस्ट्रक्शन** जोड़ सकते हैं। मैं [**VS Code**](https://code.visualstudio.com) का उपयोग करके Smali कोड को बदलता हूँ, फिर आप **smalise एक्सटेंशन** इंस्टॉल करेंगे और संपादक आपको बताएगा कि क्या कोई **इंस्ट्रक्शन गलत है**।\
**zipalign** एक आर्काइव संरेखण उपकरण है जो एंड्रॉइड एप्लिकेशन (APK) फ़ाइलों को महत्वपूर्ण अनुकूलन प्रदान करता है। [अधिक जानकारी यहाँ](https://developer.android.com/studio/command-line/zipalign)।
यदि आप \[**apksigner**]\([**https://developer.android.com/studio/command-line/apksigner**](https://developer.android.com/studio/command-line/apksigner)) का उपयोग करना **पसंद करते हैं**, तो zipalign के साथ **अनुप्रयोग करने के बाद apk को साइन करना चाहिए**। लेकिन ध्यान दें कि आपको केवल एक बार अप्लिकेशन को साइन करना होगा, जारसाइनर (zipalign के पहले) या एस्पसाइनर (zipalign के बाद) के साथ।
कुछ चरों को फ़ंक्शन की शुरुआत में _const_ ऑपकोड का उपयोग करके परिभाषित किया जाता है, आप इसके मानों को संशोधित कर सकते हैं, या आप नए मानों को परिभाषित कर सकते हैं:
एंड्रॉइड ऐप्स को पेंटेस्ट करते समय, आपको Smali फ़ाइलों को संपादित करने की आवश्यकता हो सकती है। Smali भाषा, जो एंड्रॉइड ऐप्स के लिए विकसित की गई है, द्वारा ऐप्लिकेशन कोड को प्रदर्शित करती है। इस भाषा में लिखे गए कोड को आप बदल सकते हैं और इसे अपनी आवश्यकताओं के अनुसार संशोधित कर सकते हैं।
1. नई वस्तुओं को जोड़ें: आप Smali फ़ाइल में नई वस्तुओं को जोड़ सकते हैं, जैसे कि नए फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में नई वस्तुओं को परिभाषित करना होगा और उन्हें संदर्भित करने के लिए उपयोग करना होगा।
2. मौजूदा वस्तुओं को संशोधित करें: आप Smali फ़ाइल में मौजूदा वस्तुओं को संशोधित कर सकते हैं, जैसे कि फ़ंक्शन कोड, वेरिएबल के मान, या क्लास के नाम। इसके लिए, आपको संशोधित करना चाहिए और फ़ाइल को सहेजना चाहिए।
3. वस्तुओं को हटाएं: आप Smali फ़ाइल से वस्तुओं को हटा सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में से वस्तुओं को हटाना होगा और फ़ाइल को सहेजना होगा।
4. वस्तुओं को पुनर्स्थापित करें: आप Smali फ़ाइल में वस्तुओं को पुनर्स्थापित कर सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में से वस्तुओं को हटाना होगा और फ़ाइल को सहेजना होगा।
5. वस्तुओं को खोजें और प्रतिस्थापित करें: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें प्रतिस्थापित कर सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को खोजना होगा और उन्हें संदर्भित करने के लिए उपयोग करना होगा।
6. वस्तुओं को विस्तारित करें: आप Smali फ़ाइल में वस्तुओं को विस्तारित कर सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को विस्तारित करना होगा और उन्हें संदर्भित करने के लिए उपयोग करना होगा।
7. वस्तुओं को संक्षेपित करें: आप Smali फ़ाइल में वस्तुओं को संक्षेपित कर सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को संक्षेपित करना होगा और उन्हें संदर्भित करने के लिए उपयोग करना होगा।
8. वस्तुओं को खोजें और उन्हें पढ़ें: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें पढ़ सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को खोजना होगा और उन्हें पढ़ने के लिए उपयोग करना होगा।
9. वस्तुओं को खोजें और उन्हें लिखें: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें लिख सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को खोजना होगा और उन्हें लिखने के लिए उपयोग करना होगा।
10. वस्तुओं को खोजें और उन्हें हटाएं: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें हटा सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को खोजना होगा और उन्हें हटाने के लिए उपयोग करना होगा।
11. वस्तुओं को खोजें और उन्हें पुनर्स्थापित करें: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें पुनर्स्थापित कर सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को खोजना होगा और उन्हें संदर्भित करने के लिए उपयोग करना होगा।
12. वस्तुओं को खोजें और उन्हें विस्तारित करें: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें विस्तारित कर सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को खोजना होगा और उन्हें संदर्भित करने के लिए उपयोग करना होगा।
13. वस्तुओं को खोजें और उन्हें संक्षेपित करें: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें संक्षेपित कर सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को खोजना होगा और उन्हें संदर्भित करने के लिए उपयोग करना होगा।
14. वस्तुओं को खोजें और उन्हें खोजें और पढ़ें: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें खोजें और पढ़ें सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को खोजना होगा और उन्हें पढ़ने के लिए उपयोग करना होगा।
15. वस्तुओं को खोजें और उन्हें खोजें और लिखें: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें खोजें और लिख सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके लिए, आपको Smali कोड में वस्तुओं को खोजना होगा और उन्हें लिखने के लिए उपयोग करना होगा।
16. वस्तुओं को खोजें और उन्हें खोजें और हटाएं: आप Smali फ़ाइल में वस्तुओं को खोज सकते हैं और उन्हें खोजें और हटा सकते हैं, जैसे कि फ़ंक्शन, वेरिएबल, या क्लास। इसके
* यदि आप किसी फंक्शन में घोषित चरों (घोषित v0, v1, v2...) का उपयोग करने जा रहे हैं, तो इन लाइनों को _.local \<number>_ और चरों के घोषणाओं (_const v0, 0x1_) के बीच में डालें।
* यदि आप किसी फंक्शन के कोड के बीच में लॉगिंग कोड डालना चाहते हैं:
* घोषित चरों की संख्या में 2 जोड़ें: उदाहरण के लिए, _.locals 10_ से _.locals 12_ तक।
* नए चरों को पहले घोषित चरों के अगले नंबर होना चाहिए (इस उदाहरण में _v10_ और _v11_ होने चाहिए, ध्यान दें कि यह v0 से शुरू होता है)।
* लॉगिंग फंक्शन कोड बदलें और _v5_ और _v1_ की जगह _v10_ और _v11_ का उपयोग करें।
यह कोड **फंक्शन के बीच में** डालने के लिए तैयार है (**चरों** की संख्या को आवश्यकतानुसार **बदलें**)। यह **this.o** के **मान** को **String** में **परिवर्तित** करेगा और उसके मान के साथ एक **टोस्ट** बनाएगा।
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS के नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने का उपयोग** करने की इच्छा है? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFT संग्रह**](https://opensea.io/collection/the-peass-family)
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**