Cordova Apps

Reading time: 4 minutes

tip

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

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

अधिक जानकारी के लिए देखें https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58. यह एक संक्षेप है:

Apache Cordova को JavaScript, HTML, और CSS का उपयोग करके हाइब्रिड एप्लिकेशन विकसित करने के लिए जाना जाता है। यह Android और iOS एप्लिकेशन बनाने की अनुमति देता है; हालाँकि, इसमें एप्लिकेशन के स्रोत कोड को सुरक्षित करने के लिए कोई डिफ़ॉल्ट तंत्र नहीं है। React Native के विपरीत, Cordova डिफ़ॉल्ट रूप से स्रोत कोड को संकलित नहीं करता है, जो कोड छेड़छाड़ की कमजोरियों का कारण बन सकता है। Cordova एप्लिकेशन को रेंडर करने के लिए WebView का उपयोग करता है, जो HTML और JavaScript कोड को APK या IPA फ़ाइलों में संकलित करने के बाद भी उजागर करता है। दूसरी ओर, React Native JavaScript कोड को निष्पादित करने के लिए एक JavaScript VM का उपयोग करता है, जो बेहतर स्रोत कोड सुरक्षा प्रदान करता है।

Cordova एप्लिकेशन को क्लोन करना

Cordova एप्लिकेशन को क्लोन करने से पहले, सुनिश्चित करें कि NodeJS अन्य पूर्वापेक्षाओं जैसे Android SDK, Java JDK, और Gradle के साथ स्थापित है। आधिकारिक Cordova दस्तावेज़ इन इंस्टॉलेशन के लिए एक व्यापक गाइड प्रदान करता है।

एक उदाहरण एप्लिकेशन का नाम Bank.apk है जिसका पैकेज नाम com.android.bank है। स्रोत कोड तक पहुँचने के लिए, bank.apk को अनज़िप करें और bank/assets/www फ़ोल्डर में जाएँ। इस फ़ोल्डर में एप्लिकेशन का पूरा स्रोत कोड है, जिसमें HTML और JS फ़ाइलें शामिल हैं। एप्लिकेशन की कॉन्फ़िगरेशन bank/res/xml/config.xml में मिल सकती है।

एप्लिकेशन को क्लोन करने के लिए, इन चरणों का पालन करें:

bash
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new

bank/assets/www की सामग्री को bank-new/www में कॉपी करें, cordova_plugins.js, cordova.js, cordova-js-src/, और plugins/ निर्देशिका को छोड़कर।

नया Cordova प्रोजेक्ट बनाते समय प्लेटफ़ॉर्म (Android या iOS) निर्दिष्ट करें। Android ऐप को क्लोन करते समय, Android प्लेटफ़ॉर्म जोड़ें। ध्यान दें कि Cordova के प्लेटफ़ॉर्म संस्करण और Android API स्तर अलग हैं। प्लेटफ़ॉर्म संस्करणों और समर्थित Android APIs के विवरण के लिए Cordova documentation देखें।

उचित Cordova Android प्लेटफ़ॉर्म संस्करण निर्धारित करने के लिए, मूल एप्लिकेशन के cordova.js फ़ाइल में PLATFORM_VERSION_BUILD_LABEL की जांच करें।

प्लेटफ़ॉर्म सेट करने के बाद, आवश्यक प्लगइन्स स्थापित करें। मूल एप्लिकेशन के bank/assets/www/cordova_plugins.js फ़ाइल में सभी प्लगइन्स और उनके संस्करणों की सूची है। नीचे दिखाए अनुसार प्रत्येक प्लगइन को व्यक्तिगत रूप से स्थापित करें:

bash
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1

यदि कोई प्लगइन npm पर उपलब्ध नहीं है, तो इसे GitHub से प्राप्त किया जा सकता है:

bash
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git

सुनिश्चित करें कि संकलन से पहले सभी पूर्वापेक्षाएँ पूरी हों:

bash
cd bank-new
cordova requirements

APK बनाने के लिए, निम्नलिखित कमांड का उपयोग करें:

bash
cd bank-new
cordova build android — packageType=apk

यह कमांड एक APK उत्पन्न करता है जिसमें डिबग विकल्प सक्षम होता है, जो Google Chrome के माध्यम से डिबगिंग को सुविधाजनक बनाता है। यदि एप्लिकेशन में कोड छेड़छाड़ का पता लगाने के तंत्र शामिल हैं, तो स्थापना से पहले APK पर हस्ताक्षर करना महत्वपूर्ण है।

स्वचालन उपकरण

जो लोग क्लोनिंग प्रक्रिया को स्वचालित करना चाहते हैं, उनके लिए MobSecco एक अनुशंसित उपकरण है। यह Android एप्लिकेशनों के क्लोनिंग को सरल बनाता है, ऊपर बताए गए चरणों को सरल बनाता है।

tip

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

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