1. ホーム
  2. java

[解決済み] APKをデコンパイルし、修正した後、再コンパイルする。

2023-07-23 08:41:48

質問

既存のAPKを修正し、ソースを変更し、再コンパイルする必要があります。

  • dex2jarまたはapktoolを使用してデコンパイルすることができ、それは素晴らしい動作をしている
  • jarファイルからjavaのソースを取得することができます(jd-guiを使用)。
  • それから、私は java ファイルを修正することができます。

しかし今、私は java ファイルを再コンパイルして jar ファイルに戻す方法を知りたいのです! (jar の部分は簡単で、主な問題は、android 用の java ファイルを再コンパイルする方法のようです)

他の解決策は apktool を使用して smali ファイルを修正することですが、多くのコードを追加したい場合、それは本当に複雑に思えます!

私のアプリケーションは難読化されていない基本的なHelloWorldです。

どのように解決するのですか?

Chris Jester-Youngのおかげで、なんとか動作するようになりました!

この方法は、本当に単純なプロジェクトにしか使えないと思います。

  • Dex2jarで、Jarを取得しました。
  • jd-guiで、JarをJavaファイルに戻しました。
  • apktoolで、androidマニフェストとリソースファイルを取得しました。

  • Eclipseで、古いものと同じ設定で新しいプロジェクトを作成します(マニフェストファイルのすべての情報を確認します)。

  • プロジェクトが作成されたら、すべてのリソースとマニフェストをapktoolで取得したものに置き換えます。
  • Jarから抽出したjavaファイルをsrcフォルダに貼り付けます(パッケージはそのまま)。
  • 私は私が必要とするものでそれらのファイルを変更します
  • 全てがコンパイルされています!

/!デバイスから古いapkを削除したことを確認しなさいapkの署名が古いものと同じでないというエラーが投げられます!