-
-
[讨论]关于在cocos2d游戏中调用其内部lua函数
-
发表于:
2015-1-12 15:49
17523
-
[讨论]关于在cocos2d游戏中调用其内部lua函数
关于lua多线程的问题,现在大部分的手游都是 cocos2d 或者unity的,
对于cocos2d 其内部逻辑控制是lua来实现的,也就是可以解密他的luac或者是拿到他的ua脚本(未加密的情况下),来进行lua的修改来实现游戏逻辑行的修改,比如等级判断, 金钱,钻石。
在我研究一款XX传奇的时候,lua是已经加密成了luac, 并且op也做了替换,在正确解密的情况下,大部分.abc文件可解,小部分会有几个error:语法错误,估计是luadec解析引擎的问题,在我重新根据解密表 加密回去的时候,游戏直接卡在主界面不动(解密带有error的luac时候), 换了另外一种思路。
通过hook so,直接调用他的lua函数,因为lua的源码已经被解密出来,内部函数我们也可以看到,尝试直接在so内调用其lua函数,在我的so里启动了一个线程,首先拿到了全局的lua_states,然后获取lua函数名,直接lua_call调用其lua函数 ,发现会出现返回值会出现运行时错误的,使用lua_type来判断获取的函数是时候,有的时候是table 或是其他的数据(考虑到是多线程问题,lua_state被不动的调用).
有没有研究这方面的, 希望来交流一下~
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)