【问题标题】:Unpacking android apk without changing the last modified date of files解压android apk而不更改文件的最后修改日期
【发布时间】:2013-02-11 06:43:12
【问题描述】:

我去年发布了一个安卓应用。 apk 的最新版本是 3.2(最后修改日期是 2012 年 5 月 26 日),而我只有 2.8 版本的源代码(最后修改日期是 2012 年 5 月 15 日)。我不确定我在 2.8 和 3.2 之间的代码中做了哪些更改。

因此我想到解压最新的 apk 并确定更改。我已经使用 APKtoJava_RC2 工具来解压它。我可以获得源代码,但所有文件的最后修改日期都更改为当前时间。因此,我无法识别 2.8 版 apk 之后更新的文件。

由于反编译器更改了大部分代码(变量名、常量...),我无法使用文件比较工具来识别反编译代码和 2.8 版本源代码之间的文件更改。

要么我需要获取文件的原始上次修改日期,以便我可以手动比较 2.8 版本之后更新的文件,要么需要一个魔术工具来比较我的源代码和反编译的源代码。

我在网上搜索了很多并来到stackoverflow,希望有人可以帮助我:)

提前致谢

【问题讨论】:

  • 我觉得你吃饱了。下次使用版本控制系统。我知道这对你现在没有帮助,但这是我最好的建议。

标签: android compare decompiler last-modified dex


【解决方案1】:

使用version control system,最好使用one on the cloud,可以避免此类问题。此外,如果您使用 IntelliJ IDEA 之类的 IDE,它会保留所有更改的本地历史记录,并允许您比较和合并不同版本的文件。

【讨论】:

  • 谢谢大家。我正在使用 ADT(以前的 eclipse)和 eGit 作为版本控制系统。我一直在维护版本直到 28 并且错过了更新最后几个版本的 git :( 这是我的错。
【解决方案2】:

您可以尝试反汇编或反编译您的 apk 的两个版本并比较结果,而不是尝试与原始源代码进行比较。

【讨论】:

  • 感谢 JesusFreke。我现在计划这样做,因为我别无选择
猜你喜欢
  • 1970-01-01
  • 2020-05-12
  • 1970-01-01
  • 2015-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-20
  • 2019-02-26
相关资源
最近更新 更多