检查连接到服务器的Android应用是否是您所做的

时间:2013-12-30 19:10:30

标签: java android google-play libgdx

当它连接到我的服务器时,是否可以检查我使用libGdx制作的应用程序是否是我制作的应用程序?我需要知道这一点,因为我希望能够检查人们是否更改/破解了我的应用程序。

或者,一旦app在appstore / Google Play商店上,人们就无法更改我的应用程序了吗?

2 个答案:

答案 0 :(得分:5)

当您同时获得.apk个文件时,要检查您的应用是否相同。然后,您可以计算文件的二进制数据上的哈希码。怎么做:How to calculate MD5 of a file

如果你没有要比较的apk文件,因为有些人破解了你的应用程序,它基本上已经太晚了,你唯一能做的就是添加一些服务器端验证,但这仍然不会阻止黑客生成任何有效请求。

作为对未来的预防,您可以使用ProGuard/DexGuard来混淆您的应用程序,并使更难(但并非不可能)让黑客破解您的应用程序。

总之,您永远无法确定您的客户是否遭到过黑客入侵。您需要应用服务器端验证并始终处于偏执状态。

答案 1 :(得分:3)

为什么不关注Google Play游戏服务反盗版。

https://developers.google.com/games/services/android/antipiracy

这不是您正在寻找的确切解决方案,您正在寻找的内容实际上无法以100%的准确率实现。

这种反盗版会做什么:如果他们没有从Google Play购买你的游戏,那么你可以检测到并按照你想要的方式处理它。就像应用程序什么也不做,或者向服务器报告这个副本不合法。

最后,您可能需要尝试使用多种不同的策略。