|
游戏从app store中下载需要联网,游戏中有购买行为(例如购买道具,解锁关卡)也需要联网,如果游戏需要在开发商服务器上存储数据或进行逻辑处理(例如登录),也是需要联网的。
总的来说,联网过程涉及到三方,app store,开发商服务器(即游戏服务端),和玩家设备(即游戏客户端)。这三方间的数据传输,只要经过玩家设备的都可以通过代理工具捕获并进行修改。
对于需要在登录验证并在服务端存储数据的游戏,最常犯的错误,就是在玩家登录游戏后,将服务器拉取的游戏信息明文返回给客户端。
例如来自同一公司也具备同样错误的space city和contract killer游戏,就是登录的时候,从服务器返回当前的金币数TapPoints,我们可以通过抓取服务器返回给设备上应用的数据包,将金币数量修改为想要的数量就ok了。
这种在设备上安装代理工具,劫持并修改通信包的方式,是具备悠久历史的,也叫中间人攻击MITM(man-in-the-middle)。唯一的区别是不同的运行平台有不同的工具,越成熟的平台工具越容易操作越方便普及,而不成熟的平台则需要命令行操作和数据包分析等专业知识,操作门槛越高游戏相对越安全。
当然安全也取决于破坏对象带来的利益是否具备足够的吸引力。而IAP(in-apple-purchase)游戏内购(即通过IAP下载到设备内的额外的解锁内容,英文全称是DownLoadable Content,通常简称DLC)解锁就具备了相当大的吸引力,在这一功能上,破坏方法也是非常精彩的,从早期的iap cracker工具,到现在非常流行的iap free工具,还有非越狱机也可以使用的通过伪造IAP认证服务器的俄罗斯游戏内购方法,都非常好用。
(补充:游戏内购部分的本质就是需要付费才能下载到本地的游戏内容,而通过存档修改覆盖也可以达到解锁的目的,网上有名的游戏内购解锁网站也多是有偿提供这种存档来解锁盈利,计划在下篇存档修改博客中具体介绍这种方式)
从iap cracker发展为iap free,我们可以看到外挂功能升级的一个过程。
来自:unity3d |
|