概述
kx消消乐版本1.52。仅作为学习研究,对本地游戏的一些功能进行了修改。
lua解密
观察 lib\armeabi
下的so文件,发现网上有文章提到了 libhegame
。根据资料,游戏代码主要位于加密后的lua脚本中。
加密后的lua的文件名中包含该文件的MD5,例如MainApplication.fa4649711ff8bb0263b0cca9085aa9e4.lua的md5是fa4649711ff8bb0263b0cca9085aa9e4;初始向量IV是原始lua文件的MD5,如GamePlayConfig.200dc27111c390e146d9193be27c2424.lua的前16字节是0462 f05f 926c d538 e9ee e82a 4c5e 76ef,也是原始lua文件的MD5。
解密代码
1 | key = b"\xe9\x74\x7d\x92\xcc\x32\x2e\x7d\x11\x2e\x7c\x34\x51\xd7\xb3\x6a" |
加密代码
1 | def get_md5_bytes(data): |
校验
若出现“Your current game version is illgeal”
1 | //\com\happyelements\hellolua\MainActivity.class |
根据代码,可以将j初始化为1。
修改 lua 文件后需要加密并以原来的文件名保存,如果更改文件名会有如下错误:
1 | error loading module zoo.data.MetaRef from file src/zoo/data/MetaRef.lua: |
如果闪退,查看 app 的 crash_log,注释掉引用 CCSpriteEx
与 CCNodeEx
的代码,即可启动游戏。
修改
步数修改
网上已有相关资料,直接修改 MoveMode:userMove()
中的代码即可。
1 | --src\zoo\gamePlay\mode\MoveMode.lua |
游戏币修改
1 | --src\zoo\data\DataRef.lua |
风车币 getCash
同理,精力应该也可以照此修改。
新手无限精力有效时间
1 | --src\zoo\panelBusLogic\UseEnergyBottleLogic.lua |
游戏内道具使用次数
1 | --src\zoo\animation\PropListAnimation.lua |
游戏外道具购买次数
1 | --src\zoo\panelBusLogic\BuyLogic.lua |