level 7
aimou108
楼主
3.5.2.0到3.5.4.0,其实没有核心的升级。就是为了避免侵权改了一下副本名称和卡牌头像。
所以,如果可以,我们不选择升级,对于游戏是毫无影响的。
可恨的是,官方强制升级。不升级就强制退出。
是否可以绕开验证版本机制?或者是通过修改客户端,欺骗服务端的方式,避免更新?如果可以,不但可以继续使用免改ID的rebug,还不用面对那些奇葩的卡牌形象。
参考一下网上资料,一般的apk程序版本验证,都是通过内部版本号来实现的。google定义了两个版本号,一个是外部版本号,也就是我们能看到的版本号。另外一个是内部版本号,这是开发用的,使用者,也就是客户端是看不到的。程序更新的验证就是,发布新的客户端后,新的客户端会改过来,只能增加,不能减少。同时,服务端有个对应的数据,如果使用者装的客户端内部版本号比服务端的低,就提示更新。
下午通过反编译软件,把3.5.2.0的客户端内部版本号、外部版本号都改成了和新版本一致。重新编译、签名后,依然提示更新。说明光头还采用了其他的验证机制。。折腾半天无果,遂放弃。
小弟想到两种方式,第一、搞清楚版本验证机制,欺骗服务端,不提示更新;
第二,若不能欺骗服务端,找到更新的语句,选择不更新时,不会强制退出。
当然,这两种方式,都只能对付本次版本更新。但是跟面对那个蛋疼的data.dat相比,相对较为简单
不知这个思路是否可行,于诸位大神探讨。
2014年04月19日 10点04分
1
所以,如果可以,我们不选择升级,对于游戏是毫无影响的。
可恨的是,官方强制升级。不升级就强制退出。
是否可以绕开验证版本机制?或者是通过修改客户端,欺骗服务端的方式,避免更新?如果可以,不但可以继续使用免改ID的rebug,还不用面对那些奇葩的卡牌形象。
参考一下网上资料,一般的apk程序版本验证,都是通过内部版本号来实现的。google定义了两个版本号,一个是外部版本号,也就是我们能看到的版本号。另外一个是内部版本号,这是开发用的,使用者,也就是客户端是看不到的。程序更新的验证就是,发布新的客户端后,新的客户端会改过来,只能增加,不能减少。同时,服务端有个对应的数据,如果使用者装的客户端内部版本号比服务端的低,就提示更新。
下午通过反编译软件,把3.5.2.0的客户端内部版本号、外部版本号都改成了和新版本一致。重新编译、签名后,依然提示更新。说明光头还采用了其他的验证机制。。折腾半天无果,遂放弃。
小弟想到两种方式,第一、搞清楚版本验证机制,欺骗服务端,不提示更新;
第二,若不能欺骗服务端,找到更新的语句,选择不更新时,不会强制退出。
当然,这两种方式,都只能对付本次版本更新。但是跟面对那个蛋疼的data.dat相比,相对较为简单
不知这个思路是否可行,于诸位大神探讨。