- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在我的 Android 应用程序中实现了应用内结算。我几乎按照示例 (Dungeon) 应用程序来让它工作。到目前为止,它似乎运行良好。我现在需要决定我应该在安全部分投入多少精力。
我确实有一个服务器,我可以用它来实现 Security.java 的东西。我目前也在使用标准的 PurchaseDatabase 实现。
截至目前,我正在考虑使用特定于设备的 key 加密 .db 文件,而单独保留 Security.java。
我的想法是,我的应用程序是一个非常小众的应用程序,我不希望对它进行大量的黑客攻击。如果有人努力节省几美元(购买的每件商品只需 1 美元),那就这样吧。
我想我正在寻找关于其他人对此的看法的意见...似乎没有 100% 安全的实现...只有使黑客不值得付出努力的实现。其他人见过很多应用内购买的黑客行为吗?
最佳答案
您做对了:您不需要实现非常复杂的保护功能,您需要实现需要花费太多时间才能被发现和删除的保护功能这是来自 Google I/O 2011 的视频,介绍了减少“水蛭”:http://www.youtube.com/watch?v=TnSNCXR9fbY ,我彻底推荐它。您可能想尝试的一些技巧是:
其中一些技术非常简单,另一些则需要付出不可忽视的努力。最好的建议是发挥创意,将支票隐藏在破解者不希望看到的地方。
另一个重要的一点是,如果您怀疑盗版,请让您的应用程序优雅地降级。例如,不要抛出“无效许可证”,因为您的许可证检查需要在应用程序启动时访问网络;相反,将“有效期为两个月”的 token 存储在某处并随机更新它。在随机天数(例如,30-60 天范围内的随机整数)后检查它。客户不会注意到此支票,而且很难破解,因为它在很多时间后不会很明显,比破解者愿意花在单个应用程序上的时间要多得多。
关于android - 我为 Android In App Billing 的安全性付出了多少努力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405257/
我是一名优秀的程序员,十分优秀!