Cordova Apps

Support 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 में मिल सकती है।

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

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 फ़ाइल में सभी प्लगइन्स और उनके संस्करणों की सूची है। नीचे दिखाए अनुसार प्रत्येक प्लगइन को व्यक्तिगत रूप से स्थापित करें:

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

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

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

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

cd bank-new
cordova requirements

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

cd bank-new
cordova build android  packageType=apk

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

Automation Tool

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

Support HackTricks

Last updated