直接报bad code in precompiled chunk,还是太年轻啊,哈哈 好吧,看到这个错误不要慌,根据经验应该是opcode顺序被改过,看来得分析一下so中的代码了。
二、尝试分析OS代码
把libcocos2dlua.so扔IDA里,打开字符串窗口,再确认一下lua版本:
查一下opcode的字符串顺序,如下:
拿上图的顺序和lua虚拟机源码的对照了一下,这个顺序没有问题,为什么会看字符串顺序呢,主要是因为之前逆向时遇到过一次这种情况,对着字符串的顺序修改opcode就搞定了。不过,显然这次没有这么简单。 于是,打算先定位luaV_execute函数分析一下,搜索“initial value must be a number”字符串,交叉引用跳转到代码处,