コンピュータ上で Android システム apk ファイルを開くプログラムはどれですか? コンピューターで APK ファイルを開く方法 コンピューターで APK ファイルを解凍する

11.12.2023

以上のことから、今日の出版物のテーマは次のとおりであると結論付けることができます。 どうやって apkファイルをインストールするアンドロイドで。 多くの人はこれを行う方法を知りませんが、実際にはすべてが非常に簡単です。

つまり、そこで何が起こったのかはまだよくわかっていません。モバイルデバイスをインターネットに接続し、店舗に行き、必要なものを選択して「インストール」ボタンをクリックしただけです。 これで準備は完了です。

ただし、ここでは完全に異なる方法で実行します。なぜなら、「apk」形式で事前にダウンロードされたインストール ファイルがすでにあり、この場合、Play マーケット自体がまったく必要ないからです。

したがって、よりよく理解できるように、この拡張子を持つファイルは Android システムのプログラム インストーラーです。 たとえば、自分で Windows にプログラムをインストールした場合、そのファイルには「exe」という拡張子が付いていることがわかります。

上記すべてから、ストア経由ではない場合、「apk」ファイルをインストールするにはどうすればよいかという疑問が生じます。 しかし、どうですか、これからは注意深く読んでください。 さらに、同じ Navitel Navigator の例を使用してすべてを検討します。

ここには違いはありませんが。 すべてのアプリケーションで、この手順はまったく同じです。 この記事のすべての明確さは、Android オペレーティング システムのバージョン 4.1.2 に基づいて表示されます。

まず最初に、非常に難しい設定を 1 つ行う必要があります。 ここで「設定」セクションを選択します。

「セキュリティ」タブで、「提供元不明のソース」の横にあるチェックボックスをオンにします。 以下のスクリーンショットは次のことに役立ちます。

次に、拡張子「apk」が付いたインストールファイル自体をダウンロードする必要があります。 私たちの場合、プログラムの公式 Web サイトの「ダウンロード」セクションにあります。

上の写真に注目してください。 この方法でインストールする場合、多くの場合、デバイスの画面解像度を選択するように求められます。 ただし、それについて何も知らない場合は、ディスプレイ解像度に適したバージョンを選択してください。

apk ファイルをコンピュータにダウンロードしたら、それをスマートフォンまたはタブレットのメモリ カードにコピーする必要があります。 これを行うには、ケーブルを使用して PC に接続します。

この結果、接続が確立されたことを示すメッセージがモバイル デバイスに表示されます。 次に、画面の下部にある「USB ストレージを有効にする」ボタンをクリックします。

この後、Android デバイスはコンピュータ上で通常のフラッシュ ドライブとして検出され、そこにインストール ファイルをコピーする必要があります。

次に、右上隅のアイコンをクリックして設定メニューに再度移動します。

開いた「アプリケーション」ウィンドウで「ファイルマネージャー」を選択します。

この段階で、フォルダーのリストが表示されます。その中には「Download」という名前のフォルダーがあります。

そして最後に、Android システムにインストールする必要がある apk ファイルが表示されます。

それを指でクリックすると、プロセスが始まります。

次に、ファイルがコピーされるのを待って、次のコマンドを実行します。

原則として、これが私たちの科学のすべての終わりです。 「アプリケーション」セクションに戻ると、新しくインストールされた Navitel のアイコンが表示されます。

ちなみに、デバイスのフラッシュドライブのスペースを節約するために、アプリケーション自体のインストールapkファイルを削除できます。 これを行うには、「ダウンロード」フォルダーに戻り、次の図に示す簡単な組み合わせを実行します。

親愛なる皆さん、これがすべての知恵です。これで、あなたは正しくインストールする方法を正確に知っていると自信を持って言えます。 ここでは実際には何も複雑なことは何もないことに同意します。

次に、この方法でアプリケーションをインストールする原理を説明した例を使用して、プログラム自体について少し説明します。 あなたが自動車運転者であれば、Navitel Navigator の機能を高く評価するはずです。

さらに、モバイルデバイスに簡単にインストールして、本格的なナビゲーションシステムをズボンのポケットに入れて持ち運べるようになりました。 公式 Web サイト (記事の冒頭にあるリンク) から必要なカードをダウンロードし、適切なフォルダーに配置するだけです。

ちなみに、Android 上の Navitel フォルダー構造は完全に同一であると言う価値があります。 迷わないように勉強して健康に役立ててください。 😉

この件については、休暇を取らせていただきます。ご質問があれば、記事にコメントしていただければ幸いです。 そして今、完全なリラックスの時が来ており、著者はゆっくりと、しかし確実にトランス状態に陥ります。

パソコンにインストールされている場合 ウイルス対策プログラムできる コンピュータ上のすべてのファイルをスキャンするだけでなく、各ファイルを個別にスキャンする。 ファイルを右クリックし、ファイルのウイルスをスキャンするための適切なオプションを選択することで、任意のファイルをスキャンできます。

たとえば、この図では強調表示されています my-file.apk ファイル次に、このファイルを右クリックして、ファイル メニューのオプションを選択する必要があります。 「AVGでスキャン」。 このオプションを選択すると、AVG アンチウイルスがファイルを開いてウイルスをスキャンします。


結果としてエラーが発生する場合があります 間違ったソフトウェアのインストールこれは、インストール プロセス中に発生した問題が原因である可能性があります。 これはオペレーティング システムに干渉する可能性があります APKファイルを正しいアプリケーションソフトウェアにリンクしてください、いわゆるものに影響を与えます。 「ファイル拡張子の関連付け」.

時にはシンプルな Google Android SDKの再インストール APK を Google Android SDK に正しくリンクすることで問題を解決できます。 他の場合には、ファイルの関連付けに関する問題が次のような原因で発生する可能性があります。 悪いソフトウェアプログラミングさらに支援が必要な場合は、開発者に問い合わせる必要がある場合があります。


アドバイス: Google Android SDK を最新バージョンに更新して、最新のパッチとアップデートを確実に入手できるようにしてください。


これは明白すぎるように思えるかもしれませんが、多くの場合、 APKファイル自体が問題の原因である可能性があります。 ファイルを電子メールの添付ファイルで受信した場合、または Web サイトからダウンロードした場合に、ダウンロード プロセスが (停電などの理由で) 中断された場合、 ファイルが破損する可能性があります。 可能であれば、APK ファイルの新しいコピーを取得して、もう一度開いてみてください。


気をつけて:ファイルが破損すると、PC 上の以前または既存のマルウェアに付随的な損害が発生する可能性があるため、最新のウイルス対策ソフトウェアを使用してコンピュータを最新の状態に保つことが重要です。


APKファイルの場合 コンピュータのハードウェアに関連する必要なファイルを開くために デバイスドライバーを更新するこの機器に関連付けられています。

この問題 通常はメディア ファイル タイプに関連付けられています、これは、コンピュータ内のハードウェアを正常に開くことができるかどうかに依存します。 サウンドカードまたはビデオカード。 たとえば、オーディオ ファイルを開こうとしても開けない場合は、次のことが必要になる場合があります。 サウンドカードドライバーを更新する.


アドバイス: APK ファイルを開こうとしたときに受け取った場合 .SYSファイルのエラーメッセージ、問題はおそらく次のとおりです 破損したデバイスドライバまたは古いデバイスドライバに関連する更新する必要があります。 DriverDoc などのドライバー更新ソフトウェアを使用すると、このプロセスが簡単になります。


上記の手順を実行しても問題が解決しない場合それでも APK ファイルを開く際に問題が発生します。これは次のことが原因である可能性があります。 利用可能なシステムリソースの不足。 APK ファイルの一部のバージョンでは、コンピュータで適切に開くために大量のリソース (メモリ/RAM、処理能力など) が必要となる場合があります。 この問題は、かなり古いコンピュータ ハードウェアと、より新しいオペレーティング システムを同時に使用している場合によく発生します。

この問題は、オペレーティング システム (およびバックグラウンドで実行されているその他のサービス) が原因でコンピュータがタスクを処理できない場合に発生することがあります。 リソースを消費しすぎてAPKファイルを開くことができません。 Android パッケージ ファイルを開く前に、PC 上のすべてのアプリケーションを閉じてみてください。 コンピュータ上で利用可能なリソースをすべて解放すると、APK ファイルを開こうとする最適な状態になります。


もしあなたが 上記のすべての手順を完了しましたそれでも APK ファイルが開かない場合は、次のコマンドを実行する必要があるかもしれません。 装備更新。 ほとんどの場合、古いバージョンのハードウェアを使用している場合でも、処理能力はほとんどのユーザー アプリケーションにとって依然として十分以上です (3D レンダリング、財務/科学モデリングなど、CPU を大量に使用する作業を行っている場合を除く)集中的なマルチメディア作業)。 したがって、 コンピュータに十分なメモリがない可能性があります(一般に「RAM」またはランダム アクセス メモリと呼ばれます) ファイルを開くタスクを実行します。

Android 上の一部のアプリケーションは、何らかの形でユーザーに合わない場合があります。 例としては、煩わしい広告があります。 また、そのプログラムは誰にとっても良いものですが、その中の翻訳が歪んでいるか、まったく存在していないということもあります。 または、たとえば、プログラムは試用版ですが、完全版を入手する方法がありません。 状況を変えるにはどうすればよいでしょうか?

導入

この記事では、アプリケーションを使用して APK パッケージを逆アセンブルし、その内部構造を確認し、バイトコードを逆アセンブルして逆コンパイルする方法について説明します。また、何らかの利点をもたらす可能性のあるアプリケーションにいくつかの変更を加えてみます。

これらすべてを自分で行うには、Android アプリケーションを記述する Java 言語と、アプリケーション自体とそのアクセス権の記述から文字列の保存に至るまで、Android のあらゆる場所で使用される XML 言語に関する少なくとも基本的な知識が必要です。画面に表示されます。 専用のコンソール ソフトウェアを使用する能力も必要になります。

では、すべての Android ソフトウェアが配布される APK パッケージとは何でしょうか?

アプリケーションの逆コンパイル

この記事では、逆アセンブルされたアプリケーション コードのみを扱いましたが、大規模なアプリケーションにさらに深刻な変更が加えられた場合、小さなコードを理解することはさらに困難になります。 幸いなことに、dex コードを Java コードに逆コンパイルすることができます。これは、オリジナルではなく、コンパイルし直してもいませんが、アプリケーションのロジックを読みやすく理解するのがはるかに簡単です。 これを行うには、次の 2 つのツールが必要です。

  • dex2jar は Dalvik バイトコードを JVM バイトコードに変換するツールで、これに基づいて Java 言語のコードを取得できます。
  • jd-gui は、JVM バイトコードから読み取り可能な Java コードを取得できるようにする逆コンパイラーそのものです。 代わりに、Jad (www.varaneckas.com/jad) を使用することもできます。 かなり古いものですが、場合によっては Jd-gui よりも読みやすいコードを生成します。

このように使用する必要があります。 まず、apk パッケージへのパスを引数として指定して dex2jar を起動します。

% dex2jar.sh メール.apk

その結果、Java パッケージ mail.jar が現在のディレクトリに表示されます。これはすでに jd-gui で開いて Java コードを表示できます。

APKパッケージの手配と受け取り

Android アプリ パッケージは基本的に通常の ZIP ファイルであり、内容を表示したり抽出したりするために特別なツールを必要としません。 アーカイバ (Windows では 7zip、Linux ではコンソール解凍) があれば十分です。 しかし、それはラッパーの話です。 中には何が入っているのでしょうか? 一般に、内部には次の構造があります。

  • メタ-INF/- アプリケーションの作成者を識別するアプリケーションのデジタル証明書、およびパッケージ ファイルのチェックサムが含まれています。
  • res/ - 画像、インターフェイスの宣言的記述、その他のデータなど、アプリケーションが作業で使用するさまざまなリソース。
  • AndroidManifest.xml- アプリケーションの説明。 これには、必要な権限のリスト、必要な Android バージョン、必要な画面解像度などが含まれます。
  • クラス.dex- Dalvik 仮想マシン用にコンパイルされたアプリケーションのバイトコード。
  • リソース.arsc- リソースも含まれますが、種類は異なります - 特に文字列 (はい、このファイルはロシア化に使用できます!)。

リストされているファイルとディレクトリは、すべてではないにしても、おそらく大部分の APK に含まれています。 ただし、あまり一般的ではない、言及する価値のあるファイル/ディレクトリがさらにいくつかあります。

  • 資産- リソースの類似物。 主な違いは、リソースにアクセスするにはその識別子を知る必要があるが、アセットのリストはアプリケーション コードで AssetManager.list() メソッドを使用して動的に取得できることです。
  • ライブラリ- NDK (ネイティブ開発キット) を使用して作成されたネイティブ Linux ライブラリ。

このディレクトリは、C/C++ で記述されたゲーム エンジンを配置するゲーム プロデューサーや、高パフォーマンス アプリケーション (Google Chrome など) の作成者によって使用されます。 私たちはその装置を理解しました。 しかし、興味のあるアプリケーションのパッケージ ファイルを入手するにはどうすればよいでしょうか? root なしでは APK ファイルをデバイスから取得することはできず (ファイルは /data/app ディレクトリにあります)、root 化が常に推奨されるわけではないため、アプリケーション ファイルをコンピュータに入手するには少なくとも 3 つの方法があります。

  • Chrome 用 APK ダウンローダー拡張機能。
  • 本物のAPK Leecherアプリ;
  • さまざまなファイルホスティングとVarezniks。

どちらを使用するかは好みの問題です。 私たちは別のアプリケーションを使用することを好むため、特に Java で書かれており、したがって Windows または Nix で動作する Real APK Leecher の使用法について説明します。

プログラムを開始したら、電子メール、パスワード、デバイス ID の 3 つのフィールドに入力し、言語を選択する必要があります。 最初の 2 つは、デバイスで使用する Google アカウントの電子メールとパスワードです。 3 番目はデバイス ID で、ダイヤラーにコードを入力することで取得できます。 # #8255## 次に、デバイス ID 行を見つけます。 入力するときは、android- プレフィックスを付けずに ID を入力するだけです。

入力して保存すると、「サーバーへの接続中にエラーが発生しました」というメッセージが頻繁に表示されます。 Google Play とは何の関係もないので、無視して興味のあるパッケージを探してください。

表示と変更

興味のあるパッケージを見つけてダウンロードし、解凍したとします。XML ファイルを表示しようとしたときに、そのファイルがテキストではないことに気づいて驚いたとします。 逆コンパイルする方法と、一般的にパッケージを操作する方法? 本当にSDKをインストールする必要があるのでしょうか? いいえ、SDK をインストールする必要はまったくありません。 実際、APK パッケージを抽出、変更、パッケージ化するすべての手順には、次のツールが必要です。

  • ZIP アーカイバ開梱と梱包のため。
  • スマリ- Dalvik 仮想マシンのバイトコード アセンブラ/逆アセンブラ (code.google.com/p/smali);
  • なるほど- リソースをパッケージ化するツール (デフォルトでは、リソースはアプリケーションのパフォーマンスを最適化するためにバイナリ形式で保存されます)。 Android SDK に含まれていますが、個別に入手できます。
  • 署名者- 変更されたパッケージにデジタル署名するためのツール (bit.ly/Rmrv4M)。

これらのツールをすべて個別に使用することもできますが、これでは不便なので、これらのツールに基づいて構築された上位のソフトウェアを使用することをお勧めします。 Linux または Mac OS X で作業している場合は、apktool と呼ばれるツールがあります。 これを使用すると、リソースを元の形式 (バイナリ XML および arc ファイルを含む) で解凍し、変更されたリソースでパッケージを再構築できますが、パッケージに署名する方法がわからないため、署名者ユーティリティを手動で実行する必要があります。 このユーティリティは Java で書かれているにもかかわらず、そのインストールはまったく標準的ではありません。 まず、jar ファイル自体を取得する必要があります。

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ export PATH=~/bin:$PATH

Windows で作業している場合は、Virtuous Ten Studio と呼ばれる優れたツールがあります。これには、これらすべてのツール (apktool 自体を含む) も蓄積されていますが、CLI インターフェイスの代わりに、直感的なグラフィカル インターフェイスがユーザーに提供されます。数回クリックするだけで、解凍、逆アセンブル、逆コンパイルの操作を実行できます。 このツールは Donation-ware です。つまり、ライセンスの取得を求めるウィンドウが表示されることがありますが、最終的にはこれは許容されます。 インターフェースは数分あれば理解できるので、説明する必要はありません。 ただし、apktool については、そのコンソールの性質上、さらに詳しく説明する必要があります。


apktool のオプションを見てみましょう。 つまり、d (デコード)、b (ビルド)、if (フレームワークのインストール) という 3 つの基本コマンドがあります。 最初の 2 つのコマンドですべてが明らかな場合、3 番目の条件ステートメントは何を行うのでしょうか? これは、システム パッケージを分析する場合に必要となる、指定された UI フレームワークを解凍します。

最初のコマンドの最も興味深いオプションを見てみましょう。

  • -s- dex ファイルを逆アセンブルしないでください。
  • -r- リソースを解凍しないでください。
  • -b- dex ファイルを逆アセンブルした結果にデバッグ情報を挿入しないでください。
  • --フレームパス- apktool に組み込まれた UI フレームワークの代わりに、指定された UI フレームワークを使用します。 次に、b コマンドのいくつかのオプションを見てみましょう。
  • -f- 変更をチェックせずに強制的にアセンブリ;
  • -a- 何らかの理由で別のソースから aapt (APK アーカイブを構築するツール) を使用したい場合は、aapt へのパスを指定します。

apktool を使用するのは非常に簡単で、次のようにコマンドの 1 つと APK へのパスを指定するだけです。

$ apktool d mail.apk

この後、パッケージの抽出および逆アセンブルされたすべてのファイルがメール ディレクトリに表示されます。

準備。 広告を無効にする

もちろん理論は良いことですが、開梱されたパッケージをどうすればよいかわからないのに、なぜ理論が必要なのでしょうか? この理論を私たちの利益に適用してみましょう。つまり、広告が表示されないようにソフトウェアを変更してみましょう。 たとえば、仮想トーチ (仮想トーチ) とします。 このソフトウェアは私たちにとって理想的です。なぜなら、煩わしい広告が満載で、しかもコードのジャングルに迷子にならないほどシンプルだからです。


したがって、上記の方法のいずれかを使用して、マーケットからアプリケーションをダウンロードします。 Virtuous Ten Studio を使用する場合は、アプリケーションで APK ファイルを開いて解凍し、プロジェクトを作成し ([ファイル] -> [新しいプロジェクト])、プロジェクトのコンテキスト メニューで [ファイルのインポート] を選択します。 apktool を選択した場合は、次の 1 つのコマンドを実行するだけです。

$ apktool d com.kauf.particle.virtualtorch.apk

この後、前のセクションで説明したものと同様のファイル ツリーが com.kauf.particle.virtualtorch ディレクトリに表示されますが、dex ファイルと apktool.yml ファイルの代わりに smali ディレクトリが追加されています。 1 つ目には、アプリケーションの実行可能 dex ファイルの逆アセンブルされたコードが含まれ、2 つ目には、apktool がパッケージを再構築するために必要なサービス情報が含まれます。

最初に確認する必要があるのは、もちろん AndroidManifest.xml です。 そして、ここですぐに次の行に遭遇します。

アプリケーションにインターネット接続の使用許可を与える役割を担っていることは推測に難しくありません。 実際、広告を排除したいだけの場合は、インターネットからアプリケーションをブロックするだけで済む可能性が高くなります。 これをやってみましょう。 指定された行を削除し、apktool を使用してソフトウェアのビルドを試みます。

$ apktool b com.kauf.particle.virtualtorch

結果の APK ファイルは、com.kauf.particle.virtualtorch/build/ ディレクトリに表示されます。 ただし、デジタル署名とファイル チェックサムがない (単に META-INF/ ディレクトリがない) ため、インストールすることはできません。 apk-signer ユーティリティを使用してパッケージに署名する必要があります。 発売されました。 インターフェイスは 2 つのタブで構成されています。最初のタブ (キー ジェネレーター) でキーを作成し、2 番目のタブ (APK 署名者) で署名します。 秘密キーを作成するには、次のフィールドに入力します。

  • 対象ファイル- キーストア出力ファイル; 通常、1 組のキーが保存されます。
  • パスワードそして 確認する- ストレージのパスワード。
  • エイリアス- ストレージ内のキーの名前。
  • エイリアスパスワードそして 確認する- 秘密鍵のパスワード;
  • 有効- 有効期間 (年単位)。 デフォルト値が最適です。

残りのフィールドは通常はオプションですが、少なくとも 1 つは入力する必要があります。


警告

apk-signer を使用してアプリケーションに署名するには、Android SDK をインストールし、アプリケーション設定でその完全なパスを指定する必要があります。

すべての情報は情報提供のみを目的として提供されています。 編集者も著者も、この記事の内容によって引き起こされる可能性のある損害に対して責任を負いません。

これで、このキーを使用して APK に署名できるようになりました。 [APK 署名者] タブで、新しく生成されたファイルを選択し、パスワード、キー エイリアス、およびパスワードを入力して、APK ファイルを見つけて [署名] ボタンを大胆にクリックします。 すべてがうまくいけば、パッケージには署名が行われます。

情報

独自のキーでパッケージに署名したため、元のアプリケーションと競合することになります。つまり、マーケットを通じてソフトウェアを更新しようとすると、エラーが発生します。

デジタル署名はサードパーティ ソフトウェアにのみ必要であるため、/system/app/ ディレクトリにコピーしてインストールされたシステム アプリケーションを変更する場合は、署名する必要はありません。

その後、パッケージをスマートフォンにダウンロードし、インストールして起動します。 ほら、広告が消えました! ただし、代わりに、インターネットがない、または適切な権限がないことを示すメッセージが表示されました。 理論的にはこれで十分かもしれませんが、メッセージは煩わしいようで、正直に言うと、愚かなアプリケーションに恵まれただけです。 通常作成されたソフトウェアは、資格情報を明確にするか、インターネット接続を確認するか、そうでない場合は単純に起動を拒否する可能性が高くなります。 この場合どうすればよいでしょうか? もちろんコードを編集してください。

通常、アプリケーション作成者は、広告を表示するための特別なクラスを作成し、アプリケーションまたはその「アクティビティ」の 1 つ (簡単に言えば、アプリケーション画面) が起動されるときに、これらのクラスのメソッドを呼び出します。 これらのクラスを見つけてみましょう。 smali ディレクトリに移動し、次に com (org にはオープン グラフィック ライブラリ cocos2d のみが含まれています)、次に kauf (これが開発者の名前であり、開発者のすべてのコードがそこにあるため、ここにあります) - そしてここにあります。マーケティングディレクトリ。 中には拡張子が smari のファイルが大量にあります。 これらはクラスであり、その中で最も注目に値するのは Ad.smali クラスです。その名前から、広告を表示するクラスであることが容易に推測できます。

その操作のロジックを変更することもできますが、アプリケーション自体からメソッドの呼び出しを単純に削除する方がはるかに簡単です。 したがって、marketing ディレクトリを離れ、隣接するパーティクル ディレクトリに移動し、次に virtualtorch に移動します。 MainActivity.smali ファイルはここで特に注意する必要があります。 これは、Android SDK によって作成され、アプリケーションへのエントリ ポイントとしてインストールされる標準の Android クラスです (C の main 関数に似ています)。 編集するためにファイルを開きます。

内部には smali コード (ローカル アセンブラ) があります。 これは非常に混乱しており、低レベルの性質のため読みにくいため、ここでは学習せず、コード内の Ad クラスへの参照をすべて検索してコメントアウトします。 検索に「Ad」という行を入力すると、25 行目に到達します。

フィールドプライベート広告:Lcom/kauf/marketing/Ad;

ここでは、広告クラス オブジェクトを保存するために広告フィールドが作成されます。 行の前に ### 記号を付けてコメントします。 捜索を続けます。 423行目:

新しいインスタンス v3、Lcom/kauf/marketing/Ad;

ここでオブジェクトの作成が行われます。 コメントしましょう。 検索を続け、433、435、466、468、738、740、800、802 行目で Ad クラスのメソッドの呼び出しを見つけます。 コメントしましょう。 それのようです。 保存。 次に、パッケージを元に戻して、機能と広告の有無をチェックする必要があります。 実験の純度を高めるために、AndroidManifest.xml から削除された行を返し、パッケージをアセンブルし、署名してインストールします。

私たちのモルモット。 広告が表示されます

おっと! 広告はアプリケーションの実行中にのみ消えましたが、ソフトウェアを起動したときに表示されるメイン メニューには残りました。 で、待てよ、でもエントリポイントはMainActivityクラスで、広告はアプリケーション実行中に消えてメインメニューには残ったのでエントリポイントが違うのでは? 真のエントリ ポイントを特定するには、AndroidManifest.xml ファイルを再度開きます。 はい、次の行が含まれています。

これらは、android.intent.category.LAUNCHER カテゴリからのインテント (イベント) android.intent.action.MAIN の生成に応答して、Start という名前のアクティビティを起動する必要があることを私たち (そしてより重要なことに Android) に伝えます。 このイベントは、ランチャーでアプリケーション アイコンをタップしたときに生成されるため、エントリ ポイント、つまり Start クラスが決定されます。 おそらく、プログラマーは最初にメイン メニューのないアプリケーションを作成し、エントリ ポイントが標準の MainActivity クラスであった後、メニューを含む新しいウィンドウ (アクティビティ) を追加し、Start クラスに記述して、それを手動でエントリにしました。ポイント。

Start.smali ファイルを開き、もう一度「Ad」行を探します。153 行目と 155 行目に FirstAd クラスについての記述があります。 これはソース コードにも含まれており、名前から判断すると、メイン画面に広告を表示する役割を果たします。 さらに見てみましょう。FirstAd クラスのインスタンスの作成と、コンテキストに応じてこのインスタンスに関連するインテントがあり、次に cond_10 ラベルへの条件付き遷移がインスタンスの作成前に正確に実行されます。クラスの:

If-ne p1、v0、:cond_10 .line 74 新しいインスタンス v0、Landroid/content/Intent; ... :cond_10

おそらく、プログラムは広告をメイン画面に表示するかどうかを何らかの方法でランダムに計算し、表示しない場合は cond_10 に直接ジャンプします。 OK、彼女のタスクを単純化して、条件付き遷移を無条件遷移に置き換えましょう。

#if-ne p1、v0、:cond_10 goto:cond_10

コード内には FirstAd に関する記述がなくなったので、ファイルを閉じ、apktool を使用して仮想トーチを再構築します。 スマートフォンにコピーしてインストールし、起動します。 ほら、すべての広告が消えました。私たち全員を祝福します。

結果

この記事は、Android アプリケーションをハッキングして変更する方法を簡単に紹介するものです。 保護の削除、難読化されたコードの解析、アプリケーション リソースの翻訳と置換、Android NDK を使用して作成されたアプリケーションの変更など、多くの問題が舞台裏に残っていました。 ただし、基本的な知識があれば、すべてを理解するのは時間の問題です。

Android デバイスに Google Play からアプリケーションをインストールするには、アプリケーション ストアから apk ファイルをコンピュータに直接ダウンロードできます。 次に、ダウンロードしたファイルをファイル マネージャーを使用してデバイスにダウンロードし、アプリケーションをインストールする必要があります。

「なぜこれが必要なのでしょうか?」と疑問に思うかもしれません。 デバイスから直接 Google Play にアクセスして、目的のアプリケーションやゲームをインストールするほうが簡単ではないでしょうか?」

はい、確かに、ほとんどの場合、この方法でアプリケーションをインストールする必要はありませんが、Google Play を直接使用できない理由はいくつかあります。

  1. アプリケーションまたはゲームをインストールしようとすると、Android デバイスと互換性がないことを示すメッセージが表示されます。 次に、このアプリケーションまたはゲームがモバイル デバイスで動作することを確信できます。
  2. Google Play のアプリまたはゲームはお住まいの国または地域ではインストールできません。
  3. インターネットに接続できないデバイス、または Google Play からのインストールをまったくサポートしていないデバイスにアプリケーションをインストールしたいと考えています。

Google Play からコンピューターに apk ファイルをダウンロードする方法

では、これをポイントごとに実行する方法を考えてみましょう。

2. 必要なアプリケーションまたはゲームを見つけます。

3. アプリケーションのメイン ページに移動し、ブラウザにそのアドレスをコピーします。

4. ブラウザでapkファイルダウンローダーページapps.evozi.comを開き、それをフィールドに貼り付けます パッケージ名または Google Play URL以前にコピーしたアドレス。

5. ボタンをクリックします ダウンロードリンクの生成

6. リンクを処理すると、ダウンロードされた apk ファイルに関する情報と、それをコンピューターにダウンロードするためのボタンがすぐ下に表示されます。 それをクリックしてください。

それでおしまい。 ダウンロードプロセスが完了すると、Android デバイスにアプリケーションやゲームをインストールするための本格的な apk ファイルが作成されます。

ご覧のとおり、Google Play からコンピューターに apk ファイルをダウンロードするのは非常に簡単ですが、無料のアプリケーションとゲームしかダウンロードできないという制限が 1 つあります。 これは、有料アプリケーションの不正(海賊版)利用を目的とした本サービスの利用を防止するために行われます。

ほとんどのアプリケーションは公式 Google Play ストアからいつでもダウンロードできますが、すべての既存のプログラムがそこに表示されているわけではなく、一部のアプリケーションは単に価格が高いものもあります。 インターネット上で無料でダウンロードすることもできます。 必要なものが見つかったら、それがいわゆる apk ファイルであることがわかります。 それを開いてインストールする方法という論理的な疑問が生じます。 これは、標準設定とサードパーティ ソフトウェアを使用して実行できます。

ちょっとした理論と問題の本質

方法について説明する前に、この apk ファイルが何であるかを調べてみましょう。 これは、Android オペレーティング システムのインストール パッケージの形式です。 拡張子は英語版 Android Package の略称です。 実際、このファイルは最も一般的なアーカイブであり、さまざまな画像、プログラム コード、およびプログラムが正しく動作するために不可欠なその他のコンポーネントが含まれています。 中身を確認したい場合は、Total Commander などの最も一般的なファイル マネージャーを使用してください。

ただし、多くのユーザーは、アプリケーションを「インストールする」という意味で「開く」という言葉を使用します。 ここでは、すべての内容が正しく解凍されるようにインストーラーを使用する必要があるため、すべてが少し複雑になります。 Play ストアからダウンロードする場合、これは自動的に行われます。 ただし、apk ファイルを手動でダウンロードした場合は、別の方法で開く必要があります。

標準ツールの使用

Android OS は (iOS とは異なり) オープン OS です。 これは、すべてのユーザーが制限なくサードパーティ ソフトウェアをインストールできることを意味します。 この目的のために、システムは APK ファイルをインストールできる標準ツールを提供します。

Android に apk ファイルをインストールする方法を見てみましょう。 ここでは、いくつかの簡単な手順に従う必要があります。

  1. ガジェットの「設定」セクションに移動します。
  2. 「セキュリティ」項目を見つけます。
  3. メニューで「不明なソース」項目を見つけて、その横にあるチェックボックスをオンにします。 これにより、サードパーティのアプリケーションをインストールできるようになります。
  4. apk ファイルを携帯電話に送信します (メモリ カードを取り出して書き込み、再度挿入することができます)。
  5. 標準エクスプローラーに移動し、インストール パッケージを見つけます。
  6. それをクリックしてインストールを確認します。

これらの手順の後、スマートフォンは数十秒間プログラムをインストールします。 アプリケーションのリストで探しているものを見つけて起動します。

手順が非常に複雑で問題がある場合は、ファイル マネージャーを使用してみてください。 Play Market ストアには、そのようなマネージャーが豊富に揃っています。 ASTRO File Manager または最も人気のある ES Explorer を使用することをお勧めします。

優れたインターフェイスを備えており、必要な APK ファイルをすばやく簡単に開くこともできます。 この手順は、上記で説明したものと実質的に変わりません。

  1. インストール ファイルを SD カードにダウンロードします。
  2. ファイル マネージャーを起動し、カード上のファイルを見つけます。
  3. それをクリックしてインストールを開始します。

代替オプションはアプリケーション マネージャーです。 これらはプログラムを操作するためにより「調整」されているため、APK を開くのに最適です。 SlideME Mobenoo アプリ インストーラーを使用できます。 これを選択する価値があるのは、単純な理由の 1 つです。メモリ カードを自動的にスキャンし、利用可能なインストーラーを見つけます。 長い間探す必要はありません。 目的の APK を選択してクリックするだけです。