当它连接到我的服务器时,是否可以检查我使用libGdx制作的应用程序是否是我制作的应用程序?我需要知道这一点,因为我希望能够检查人们是否更改/破解了我的应用程序。
或者,一旦app在appstore / Google Play商店上,人们就无法更改我的应用程序了吗?
答案 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购买你的游戏,那么你可以检测到并按照你想要的方式处理它。就像应用程序什么也不做,或者向服务器报告这个副本不合法。
最后,您可能需要尝试使用多种不同的策略。