RSAC: 5分でできるAndroidアプリのリバースエンジニアリング

Androidでマルウェアや単に悪いアプリケーションを広めるための最も一般的な戦術の1つは、アプリの再パッケージ化です。 RSA カンファレンスのプレゼンテーションで、viaForensics の Pau Oliva Fora 氏は、Android アプリのリバース エンジニアリングにわずか数分しかかからないことを実証しました。 Android アプリ (または APK) は、携帯電話上では洗練されたものに見えますが、実際には新しい拡張子を持つ単なる ZIP ファイルです。 内部には、コードから必要なメディアまで、アプリを実行するために必要なものがすべて入っています。

APK を入手する方法はいくつもあります。 Android でリバース エンジニアリングしたいアプリがある場合、ASTRO のようなファイル マネージャーを使用して SD カードにバックアップを保存することができます。 また、Androidをパソコンに接続し、Android Debugging Bridgeを使って、アプリをパソコンに転送することも可能です。 また、Google PlayからAPKを吸い出すオンラインツールを使うこともできます。

Pulling It Apart
APK を手に入れたら、それをより使いやすいものに変換する必要があります。 このために、Fora は 2 つのオプションを提示しました。 Apktool のようなツールを使用してターゲットを逆アセンブルし、APK のコンパイル済みアプリケーション コード ファイル (Dalvik Executable、または DEX) を Smali のようなアセンブリ言語に変換することが可能です。 または、デコンパイルして、DEX を Java Archive (JAR) に変換し、さらに Java に変換します。

Fora は、デコンパイル プロセスでいくつかのデータが失われることがあるので、Android を考慮して作られたデコンパイラーは使用したほうがよいと指摘します。 これは、JAR のステップをスキップして、DEX を直接 Java に変換します。

これらのツールをすべて自分で追跡することに興味がない人のために、Fora は Santoku を提案しました。 これは viaForensics の特別な Linux ディストリビューションで、Android アプリケーションを分解、変更、および再パッケージ化するために必要なすべてのツールがプリインストールされています。 これは、私たちが過去に記事にした、強力なデジタルフォレンジックツールです。

Rapid Reverse
最後の数段落で眠ってしまった方は、ここで目を覚ましましょう。 三徳を使用して、Fora は、彼が作成した非常に基本的な Android アプリを取り出し、それを分解しました。 そして、ある行のコードを参照し、コードを修正し、再パッケージ化し、署名し、修正したアプリを自分のAndroidに再インストールし、起動させたのです。 すべてのプロセスに 5 分もかかりませんでした。

さて、Fora の例は非常に単純でした。 アプリは非常に基本的で、難読化されたコードも含まれていませんでした。 しかし、彼のデモは強力な意味を持っていました。 Fora 氏は、ゲームの無限の寿命や無料アプリの有料機能などを例に挙げて、「あらゆる Android アプリケーションの動作を変更することができます」と述べました。 私たちがこれまで見てきた悪質なクローン アプリのどれかを思い浮かべてみてください。

PCMag Tech Deals

Looking For Deals On The Latest Tech?

このニュースレターには広告、取引、またはアフィリエイト リンクが含まれることがあります。 また、「MagCraft MX」「MagCraft MX」「MagCraft MX」「MagCraft MX」の3機種があります。

Max Eddyについて

コメントを残す

メールアドレスが公開されることはありません。