J2ME短代游戏防盗方法与实现

      J2ME短代游戏盗版严重,直接影响到开发者利益。针对这个问题,我个人也做过相应的研究,并总结出一些相对有效的加密方式供大家进行交流。

      目前常见的破解方式主要是将发送短信的代码替换为空代码,从而在不发送短信的前提下,返回操作正确提示,同时因为混淆器无法混淆这一部份本地代码,使之破解更容易。从这些特点来看,唯一的防盗版方式只有锁定文件,让盗版者不能替换相应的类,是可以达到一定的防盗版效果,方法如下:

 

通过IO读取类文件,并校验,将KEY提取。每次发短信之前先校验类文件是否被修改过,修改过则为盗版,否则发送短信,给道具。

 

上面的方式实现比较简单,且有一定的防盗版能力,但是要想真正防盗版高手,必须做到在锁住文件的同时也要让破解者看不懂你的加密手段,而最现实的方式则是用另一种语言来管理少部份游戏必须拥有的功能的同时,也对类进行校验,方法如下:

 

脚本调用IO读取类文件并校验,将KEY提取,游戏中的地图或别的资源由脚本调用IO来进行读取加载。

 

为什么脚本校验类文件后,还要用来加载一部份资源呢?

 

如果脚本只是校验类,那么,破解者可以把调用本地IO的方法给封了,并用假数据欺骗脚本,这样脚本的校验就无效了,但是如果一些资源也是通过脚本去调用相同的本地IO操作来加载,那么破解者如果封了该本地函数,游戏将无法正常运行。如果不封该IO操作本地函数,脚本就可以正常校验类文件是否有效,如果无效,一样不加载资源。这种多层关联使得破解者就算看懂了程序,已经知道了脚本是靠调用这个函数来校验类文件,他也不能去修改,因为加载资源时,一样要调用该函数,而破解者并不知道整个游戏有多少资源需要这样来加载。如果破解者不懂你的脚本语言格式,那将大大增加破解难度,从而对脚本加密防盗版,将是一种更有效的程序保护手段。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值