有没有办法验证apk文件是否是从给定的源代码生成的?

时间:2017-09-12 12:27:19

标签: java android apk

我是Govt组织的管理团队成员,客户提交他们的应用程序及其批准过程的源代码。我正在寻找一个解决方案来验证给定的apk文件是否是从给定的源代码生成的。此应用程序是在Google Play之外发布的,因此我们希望确保客户端仅分发经过管理团队批准的应用程序。

请建议一种方法。

2 个答案:

答案 0 :(得分:1)

您已经收到了消息来源,因此最简单的下一步是获取创建APK所需的一切,并从供应商提供的资源中自行完成。

在APK中反编译APK并将其与给定的源进行比较在我眼中是错误的。首先,您可能希望防止在应用程序“外出”时发生这种情况,因此APK可能包含混淆类,在编译器执行某些优化后,反编译源也会看起来完全不同。我并不是唯一一个有这种观点的人。看一看关于投票计算机的讨论以及验证计算机是否未经改变以及与供应商为审计提供的来源一起运行的难度等等。

答案 1 :(得分:-2)

在构建应用的发布版本时,应使用安全,唯一的签名密钥对其进行签名。这样,当用户安装apk时,他们将能够“安装”以前的版本并知道这是相同的应用程序。

最好的方法可能是接受来自客户端的代码,查看它,然后自己构建和签署应用。通过这种方式,您可以确定apk中的内容并使用签名将其锁定到位。