Android アプリケーションのリバース エンジニアリング - 逆コンパイル、再パッケージ化、署名

序文

逆転学習のすべてのステップを記録します。

道具

1. apktoolの機能
:逆コンパイルおよびパッケージ化して APK を生成します。 2.
apksignerの機能
: APK に署名します
。 手順: AndroidSDK ツール、build-tools/対応するバージョンのディレクトリ内 (例: build-tools\28.0.3)このディレクトリにあるスクリプト (apksigner.bat) は、lib 配下の jar パッケージ (apksigner.jar) であり、環境変数に build-tools\28.0.3 を設定できます。
ここに画像の説明を挿入します

ステップ

1. apktool.jar と逆コンパイルする apk を同じディレクトリに配置し、コマンド ラインを開き、ディレクトリ パスに移動します;
2. 次の逆コンパイル コマンドを実行します

java -jar apktool.jar d -f xxx.apk -o test

注 1: dはデコードを意味し、-fは強制を意味し、-o は逆コンパイルで生成されたディレクトリを指定することを意味します (ここでのテストは逆コンパイルで生成されたディレクトリです)
注 2:コマンド実行時にメイン例外が発生した場合、apktool を更新する必要があります。 .jar
が正常に実行されると、逆コンパイルされたコンテンツを含むテスト ディレクトリが生成されます
ここに画像の説明を挿入します
3. 必要に応じて、逆コンパイルされたディレクトリ (ここではテスト ディレクトリです) 内のデータを変更します。

4.未署名のAPKを再生成する

java -jar apktool.jar b 反编译生成的目录(此处是test)

実行が完了すると、テスト対象の dist ディレクトリが生成され、このディレクトリ内の apk は署名されていない apk になります。

5. 署名
dist ディレクトリに移動し、そのディレクトリに署名キー ファイルを配置し、
ここに画像の説明を挿入します
次のコマンドを実行します。

apksigner sign –ks 密钥库名 –ks-key-alias 密钥库名 xxx.apk

注: xxx.apk は署名される APK です。

おすすめ

転載: blog.csdn.net/fengyulinde/article/details/103705232