Articles

How To Reverse Engineer An Android Application In 3 Easy Steps

Varun Dwarkani
Varun Dwarkani

Follow

Sep 12, 2020 · 3 min read

Reverse Engineer Android Application

Many beginners or even intermediate Android developers fail to realize that the Android app それらは造り、船はより大きい範囲にリバースエンジニアリングすることができます。 あなたが秘密鍵をハードコーディングしたり、ビルドに保存したりする開発者の一人であれば。gradleファイルは、ハッカーや他の開発者の手に入るのを防ぐことができます、あなたは間違っています。

セキュリティは決して簡単ではなく、最初のルールはクライアント側のセキュリティを信頼しないことです。 クライアント側は私たちが制御する環境ではないので、システムを混乱させる可能性のある秘密をハードコーディングしたり保存したりすることに だから、開発者やハッカーに巻き込まれないようにする最善の方法は、自分でアプリケーションをリバースエンジニアリングし、可能であれば問題を修正す

興味深い事件—機能で数式を使用する必要があるAndroidアプリケーションで作業していたことがありました。 コアに数学を嫌う、私はそれがより簡単で面白い競合他社のアプリケーションのいずれかをリバースエンジニアリングするために発見し、私は正常にコー :p

それでは、始めましょう。 アプリケーションをリバースエンジニアリングするには、事前にいくつかのことが必要です—

  1. アプリケーションのAPK。
  2. 実行するコードのいくつかのセット。
  3. 逆コンパイルされたコードを表示するには、Java逆コンパイラツール(この記事ではJD JUI)。

Androidアプリの基本的な理解。 ソース-Pranay Airan。

リバースエンジニアリングしたいアプリケーションのAPKが必要です。 それを行うには多くの方法がありますが、ここで簡単な方法を提案します。 お使いのデバイス上のアプリApk Extractorをダウンロードし、アプリケーション内のリストからアプリケーションを選択します。 完了したら、任意のファイルエクスプローラを開き、内部ストレージディレクトリに存在するExtractedApksフォルダに移動します。 そこに、あなたはAPKを見つけるでしょう。 そのAPKをシステムにコピーすると、以下の手順に進みます。

2番目のステップ—

APKを取得したら、それを逆にしてコードを知り、確認します。 これにより、コードの構造化についての洞察が得られ、リバースエンジニアリング攻撃に直面しないようにするために講じたセキュリティ対策が見つ

ここでは{app}の名前を変更します。アプリへのapkファイル。zipを解凍します。 抽出されたフォルダの中に、クラスがあります。アプリケーションコードを含むdexファイル。P>

DEXファイルは、コンパイルされたコードを含み、Androidプラットフォーム上で実行される実行可能ファイルです。p>

ここで、クラスを使用します。apk zipファイルから取得したdexファイルをJARに変換します。 そのためには、ここで利用可能なオープンソースのツール”dex2jar”を使用することができます。 リリースセクションに頭の上に、利用可能な最新のzipファイルをダウンロードして、それを抽出します。 抽出したクラスをコピーします。dexファイルを’dex2jar-x.x’ディレクトリ内に貼り付けます。マシン上でターミナルを開き、’dex2jar-x.x’ディレクトリに移動します。 ここで、コマンドを実行します-

d2j-dex2jar。バットクラス。dex

これはクラスを変換します。dexファイルを任意の逆コンパイラツールを使用して表示できるJARファイルに変換します。

3番目のステップ—

単純なJava逆コンパイラツールであるJD JUIを使用します。 あなたはここからそれを得ることができます。 Zipをダウンロードして解凍します。 Jd-guiを実行します。exeを開き、dexファイルと出来上がりを開きます! 私たちは、アプリケーションをリバースエンジニアリング!!Div>

逆コンパイルされたAndroidアプリのソースコード