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を使用してアプリケーションをレンダリングし、APKまたはIPAファイルにコンパイルされた後でもHTMLおよびJavaScriptコードを露出させます。一方、React NativeはJavaScript VMを使用してJavaScriptコードを実行し、より良いソースコード保護を提供します。

Cordovaアプリケーションのクローン作成

Cordovaアプリケーションをクローンする前に、NodeJSがインストールされていることを確認し、Android SDK、Java JDK、Gradleなどの他の前提条件もインストールしてください。公式のCordova ドキュメントは、これらのインストールに関する包括的なガイドを提供しています。

com.android.bankというパッケージ名のBank.apkという例のアプリケーションを考えてみましょう。ソースコードにアクセスするには、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.jscordova.jscordova-js-src/、およびplugins/ディレクトリは除外します。

新しいCordovaプロジェクトを作成する際には、プラットフォーム(AndroidまたはiOS)を指定してください。Androidアプリをクローンする場合は、Androidプラットフォームを追加します。CordovaのプラットフォームバージョンとAndroid APIレベルは異なることに注意してください。プラットフォームバージョンとサポートされているAndroid APIの詳細については、Cordovaのドキュメントを参照してください。

適切な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に署名することが重要です。

自動化ツール

クローンプロセスを自動化したい方には、**MobSecco**をお勧めします。これは、Androidアプリケーションのクローンを簡素化し、上記の手順を簡略化します。

Support HackTricks

Last updated