IOS内购防破解
我们使用的AnySDK的支付来做的,比较简单有效
http://docs.anysdk.com/integration/server/payment-notice/
CPP 接口说明: http://docs.anysdk.com/integration/client-cpp/iap/
关键流程
1. 客户端通过anysdk发起订单 ->
2. anysdk服务器生成一个订单并关联到IOS要支付的商品 -> 回调客户端,并提供订单ID
3. 客户端付款并通知anysdk服务器->
4. anysdk一边通知客户端某订单已经支付成功,另一边通知游戏服务器可以提货了 ->
5. 客户端发送订单ID,请求游戏服务器提货
值得注意的是:
1. 生成的订单在管理后台可以查到,但是必须在后台里面和IAP商品ID映射起来,否则没法生成订单
http://dev.anysdk.com/
2. 在使用anysdk打包的时候填写的 支付通知地址, 也就是在第4步,anysdk支付成功后回调游戏服务器的地址。(目前需要对应一个http的地址)
并且可以使用后台工具,[模拟通知游服务]验证地址有效性
3. 官方tips
http://docs.anysdk.com/faq/ios-sdk-params/#appstore
漏单处理
在客户端登录的时候请求游服务器,查看是否有未取货的订单,有的话就取货
sqlite加密
1. 不过发布版本貌似不能使用
http://blog.csdn.net/linchaolong/article/details/41224483
2. 关键信息混淆存储,例如金币、钻石等等,但是随着数据增多,维护成本变大
3. 使用第三方加密库SQLCipher
防止内存修改
(八门神器)通过数据偏移的方式存储,或者做一个简单的位移混淆
资源加密
图片资源可以使用 TexturePacker 加密打包,格式pvr.ccz
JSON配置文件加密
cocos2dx自带的xxtea加密算法
越狱检查
http://www.jianshu.com/p/f664b1da8458
相关文章
http://www.freebuf.com/articles/wireless/5867.html
http://www.freebuf.com/articles/wireless/5923.html
http://www.freebuf.com/articles/wireless/6068.html