このリポジトリには、APK をリバース エンジニアリングする方法に関するステップバイステップ ガイドが含まれています。
リバース エンジニアリングは、悪意のあるソフトウェアやコードの特定、セキュリティ上の欠陥の発見、予想外の機能の発見、ビジネス ルールの違反など、さまざまな側面で役立ちます。とはいえ、Android の世界をさらに深く見てみましょう。
基本から始めて、Android パッケージ (APK) をいくつかの部分に分割できます。
Smali は、Dalvik バイトコードの人間が読み取り可能なバージョンであり、簡単に言えば、アセンブル/逆アセンブルとして機能します。 Dalvik 実行可能形式 (.dex)
コードの観点から、Java と Smali の違いを見てみましょう。
public static void printHelloWorld() {
System.out.println("Hello World")
}
同じコードをスマリ語で記述します。
.method public static printHelloWorld()V
.registers 2
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v1, "Hello World"
invoke-virtual {v0,v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
return-void
.end method
必要な基本概念を確認したので、作業に取り掛かります。
ステップ 1:
元に戻す APK を選択します。
アプリストア自体から簡単に見つけられない場合は、APKCombo や APKMonk などのサイトで直接見つけることができます。
ここに来たら、興味深い点に注目してください。
- Qual é o URL da API? (geralmente emos algo como api.domain.com)
- Qual é método de autenticação utilizado? Eu preciso criar um login para acessar?
- Quais são as chamadas que eu posso encontrar e quais são os parâmetros eles esperam?
APK を入手したら、コードを分析できるように逆コンパイルします。
(MOBSF などの動的分析ツールを使用すると、Java であっても SMALI であっても、コードを直接ダウンロードできます)。
ここで、ツールを使用します。最初のツールは APKTOOL です。詳細は以下で説明しますが、一般的には、ファイルを逆コンパイルし、逆コンパイルされたすべてのファイルを含むフォルダーを同じ場所に作成する役割を果たします。 。ここから、必要なコードをすべて分析できるようになります。
ここで使用するコマンドは次のとおりです。
- apktool d ~/Desktop/aplicativo_app.apk
APK から「classes.dex」ファイルを抽出します。
dex2jar ツールを使用して Java クラス ファイルに変換します。結果としてjarファイルが生成されます。
- sh d2j-dex2jar.sh classes.dex
JD-GUIを使用してjarファイルからソースコードを抽出します。
- Arraste o arquivo classes-dex2jar.jar pro JD-GUI
Mobile Security Framework は、APK 分析を自動化するツールです。その中には、以前に見た、APK を構成する部分に関する詳細が表示されます。
dex2jar
デデクサー
apktool
apktool は、Android アプリケーションをリバース エンジニアリングするためのオープンソース Java ツールです。 APK ファイルを人間が判読できる XML の元のコードにデコードできます。ファイルに含まれるすべてのクラスとメソッドも Smali に分割します。このようにして、機能やプログラムの実行を変更できます。 Smali コードを使用すると、アプリケーション内に新しい機能を追加したり、予想される動作を変更したりできます。
SSL ピンニングによく使用されます。
adb (Android デバッグ ブリッジ)
アンドロガード
Xped フレームワーク
コマンド: //すぐに
Android SSL をバイパスする
フリーダ
これがどのように機能するかの基礎ができたので、実践してみましょう。演習として使用できるいくつかのラボのリストを次に示します。
次の攻撃タイプをテストします。
ここに来てくれてありがとう!良い1日を。