如何验证从具有正确SHA1签名的Android应用程序发送的POST数据?

Z0q*_*Z0q 11 java security android proguard sha

最近我的游戏被黑客入侵,一个用户向服务器提交了一个不可能的分数.提交的分数带有经过验证的校验和和正确的数据.

我确信用户必须对我的APK文件进行逆向工程才能找到POST请求.

现在我想知道什么是防止这种情况再次发生的好方法我想到了验证应用程序的SHA1签名.也许通过这种方式我可以确保该应用程序是由我签名的,并且不是应用程序的逆向工程和更改版本.

这可能吗?或者是否有更好的解决方案来解决这个问题?

我顺便使用LibGDX.

DDs*_*six 4

首先,你确实必须混淆你的代码。您可以在此处找到有关 ProGuard 和代码混淆的更多信息。

其次,您可以使用 Google Play Services 中提供的 GoogleAuthUtil,该服务适用于运行 Android 2.2 或更高版本的设备。

GoogleAuthUtil 正是您所需要的:

GoogleAuthUtil 服务器通信

您的客户端服务器调用通过 HTTPS 请求发送至 Google,Google 检查调用是否由使用您的发布证书签名的应用程序发出,然后将请求发送到您的服务器。

您可以在此处找到有关如何实现此功能的官方教程,以及在此处找到官方文档。

干杯!