我和我的同事正在编写 Android 应用程序,我们正在使用 git 来跟踪代码更改。在我最后一次拉动之后,我更改了许多代码行并插入了很多新代码。
在尝试推动更改时,出现了一些冲突,我得到了他的项目版本,而我的却不见了。
“幸运的是”,我在我的手机上安装了最新版本的应用程序,并在我的电脑上使用了密钥库对其进行签名。
有没有办法使用签名的密钥库来反编译 .apk 文件?
我和我的同事正在编写 Android 应用程序,我们正在使用 git 来跟踪代码更改。在我最后一次拉动之后,我更改了许多代码行并插入了很多新代码。
在尝试推动更改时,出现了一些冲突,我得到了他的项目版本,而我的却不见了。
“幸运的是”,我在我的手机上安装了最新版本的应用程序,并在我的电脑上使用了密钥库对其进行签名。
有没有办法使用签名的密钥库来反编译 .apk 文件?
实际上,没有。虽然可以反编译 apk,但该过程会产生一些丑陋的东西,以至于恢复它所花费的时间可能会令人望而却步。您可以使用 baksamali (链接)对其进行反汇编,以及将 .class 文件反编译为 Java 文件的类似工具。然而不幸的是,编译过程丢失了足够的上下文,您可能会丢失文件中的大量结构,并且如果不进行大量平滑处理,您获得的结果将无法使用。在这种情况下,虽然在技术上是可行的,但对生成的反编译代码进行逆向工程所需的时间将足够长,以至于您可能宁愿自己重做编码。