0

昨年、Android アプリを公開しました。APK の最新バージョンは 3.2 (最終更新日は 2012 年 5 月 26 日) ですが、ソース コードは 2.8 バージョン (最終更新日は 2012 年 5 月 15 日) のみです。2.8 と 3.2 の間でコードにどのような変更を加えたかはわかりません。

したがって、最新のapkを解凍して変更を特定することを考えました。APKtoJava_RC2 ツールを使用して同じものを解凍しました。ソースコードを取得できましたが、すべてのファイルの最終更新日が現在の時刻に変更されています。そのため、apk の 2.8 バージョン以降に更新されたファイルを特定できませんでした。

逆コンパイラはほとんどのコード (変数名、定数など) を変更するため、ファイル比較ツールを使用して、逆コンパイルされたコードと 2.8 バージョンのソース コードの間のファイルの変更を特定できませんでした。

2.8 バージョン以降に更新されたファイルを手動で比較できるようにファイルの元の最終更新日を取得するか、ソース コードと逆コンパイルされたソース コードを比較する魔法のツールが必要です。

私はウェブをたくさん検索しましたが、私を助けてくれる人がいることを期待してstackoverflowに来ました:)

前もって感謝します

4

2 に答える 2

0

元のソースコードと比較するのではなく、apkの両方のバージョンを逆アセンブルまたは逆コンパイルして結果を比較してみてください。

于 2013-02-11T19:07:12.480 に答える
0

バージョン管理システム、できればクラウド上のバージョン管理システムを使用すると、このような問題を回避できます。また、IntelliJ IDEA のような IDE を使用すると、行われたすべての変更のローカル履歴が保持され、異なるバージョンのファイルを比較およびマージできます。

于 2013-02-11T06:59:21.127 に答える