Android 逆学習 (1) vscode は Android の逆修正と再パッケージ化を実行します

Android 逆学習 (1) vscode は Android の逆修正と再パッケージ化を実行します

前に書いてある

実は、この記事を書き残せるか分かりませんが、穴はたくさん開いているのですが、まだ埋めていないのですが、特許が発行されたので、穴を埋め始めました。このホールの主な内容は、メイン チュートリアルである Android リバースに関するものですソースは 52 Crack Forum のマスター コースから来ていますが、それは Windows バージョンです私は Linux を使用するのが好きなので、これは比較的大きな変更を加えた学習チュートリアルです, しかし、Windows でも実行できると思いますので、やってみましょう。

1. ソフトウェアの準備

上で述べたように、私は Linux ユーザーなので、Linux でも同じ代替品を使用しています (Linux でのソフトウェアの方が使いやすいと感じています)

1. シミュレータ

私が使用するエミュレータは xdroid と呼ばれます。これは、Android Studio よりも優れていると思うためです (もちろん、分析する場合)。多くのソフトウェアで使用されているネイティブ コードは Arm アーキテクチャであるのに対し、Android Studio のエミュレータは主に x86 アーキテクチャであるためです。多くのソフトウェアでは解析できません。もちろん、xdroid のインストールでセキュリティ ブートを閉じる必要がある場合は、BIOS で閉じられます。

次に、xdroid インストール パッケージをダウンロードします。 ./ を直接実行します。sudo ./ を使用しないように注意してください。そうしないように求めるメッセージが表示されます。

また、インストールする必要があるソフトウェアは、開発アシスタントと NP マネージャーです。これら 2 つは主にリバース分析に使用され、これはすでにルート化されています。また、adb を使用して直接デバッグすることもできます。右上隅の Android 7 に注意してください。 Android 9にアップグレードしないと、お気に入りのソフトウェアの一部がインストールされません。

e37fb64ed46ed0c27dbe1508fa5999e97163022138e29438d1625e8128ff2355

adbコマンド

adb devices
adb -s xxxx root
adb -s xxxx shell

20230902234342

2. リバースエンジニアリングに使用されるソフトウェア

チュートリアルでは NP マネージャーと開発アシスタントを使用します。もちろん、NP マネージャーを直接使用するのはあまりエレガントではないように感じます。結局、リバース エンジニアリング後にコンピューター上で直接修正する方が良いでしょう。これにより、私たちはよりプロフェッショナルなので、ソフトウェアはvscodeとapktoolです。apktoolについては説明しません。これについては前のブログで紹介しました。

VScode の場合、APKLab 拡張機能を使用するので、apktool やその他の逆コンパイル ソフトウェアを使用するのがより便利になり、apk をパッケージ化するのも非常に便利になります。

私の vscode プラグインは主に次のとおりです。

smalise: smali コードを表示するために使用されます。apklab のプレソフトウェアです。

apklab: メインのプラグインは非常に強力なプラグインで、apktool などのさまざまなツールを統合でき、キーボードを使用して直接操作できます。

luna Paint: これは、写真を編集するためのソフトウェアです。これは、写真を修正するために使用すると便利です。もちろん、これはダウンロードせずに行うことができ、影響はありません

smali2java: これは非常に便利な逆コンパイル プラグインで、コードを Java コードに変換し、コードのロジックをより明確に表示できます。

ソフトウェア設定プロセス

主に設定するソフトウェアは apklab のみです

20230902223813

最初の 3 つはツールのパスです。これらに触れる必要はなく、自動的にダウンロードされます。

背後にあるキーエイリアスは Android 開発署名です。各 APK パッケージはインストールする前に署名が必要です。パッケージは逆コンパイルされ変更されているため、再署名するキーを見つける必要があります。これを生成する方法は Android を使用することです生成するスタジオ、詳細は説明しません。直接確認してください。

2. Android テキストを変更して再パッケージ化する

さて、私の愛する最初の宿題です。画像のテキストを変更することです。これを実行しましょう。まず、(Ctrl+Shift+P) を押して、APK を開くを選択し、インストール パッケージを開くことができます。リバースエンジニアリング後の構造

20230902224541

次に、開発アシスタントを使用して現在のアクティビティを確認する必要があります。開発アシスタントを開いて現在のアクティビティをクリックすると、ページにクラス名が表示されます。その後、クラックする必要があるソフトウェアを実行します。現在のアクティビティアクティビティを確認できます

20230902224814

するとこんなものが表示されます

20230902225347

vscode インストール パッケージでこのアクティビティに関連するリソースを探します。

smali コードの最初の文が見つかりました

20230902225627

それを修正するだけです

20230902230559

res でレイアウトを見つけることができます。これはレイアウト ファイルです。ここにテキストがあるので、それを変更するだけです。

20230902230824

次に、mipmap-xxxhdpi に写真があるので、それを置き換えます

20230902230940

次に、前のレイアウト ファイルに基づいて、内部のコピーが @string にあることがわかりました。そのため、値をチェックして string.xml を見つけ、tip1 と first_tv を変更する必要があります。そして、確かに関連するものが見つかりました。

20230902231540

20230902231614

今後も変更を加えていきます

変更が完了したら、保存することを忘れないでください。次に、apktool.yml を右クリックしてパッケージ化してインストールします。パッケージ化されたファイルは dist ファイル内にあります。これは少しバグがあることに注意してください。説明させてください。ゆっくりとあなたへ。

20230902232442

  1. adb がエミュレータを見つける前にいずれかのソフトウェアを開く必要があるため、開発アシスタントまたは他のソフトウェアを開いてエミュレータを実行できるようにしてからインストールすることを忘れないでください。
  2. インストール後、そのようなアイコンは表示されませんが、これはエミュレータのバグですが、開発アシスタントで開くことができるため、出力コンソールに問題がなければ使用できます。

したがって、インストール後にアプリケーションを開く方法は、[マニフェスト] -> [ソフトウェア名] -> 右上隅をクリックしてアプリケーションを開き、アプリケーションを開いた後、変更されたファイルを確認することです (このインストール パッケージは実機にインストールしてパスしてみました)

それから私たちは胡兄弟と万年さんの写真を見ました。

20230902233721

おすすめ

転載: blog.csdn.net/qq_52380836/article/details/132644313