既然找到密钥了,再回去看xxtea的解密函数。 对于参数对应关系不太清楚,这时候需要查阅一下源码xxtea_decrypt通过源码可知,参数一为加密数据,参数二为加密数据长度,参数三为解密key,参数四为key的长度,参数为解密数据长度。 验证是否和源码描述一样,我们可以通过查看静态代...
快速定位:由于所有的Lua文件加载必定经过cocos2d::LuaStack::luaLoadBuffer,所以可以直接定位,进行回溯。 定位至cocos2dx_lua_loader: 在luaLoadBuffer前调用了decodeLuaData,怀疑这就是解密Lua的关键方法。 下面是伪代码: _BYTE *__fastcall decodeLuaData(cocos2d::Data *a1,int*size) { _BYTE*v3;//r0_BYTE *v...
首先使用python脚本去掉png的PNG SIG(8 bytes) 以及末尾的PNGIEND(12 bytes)。然后图片剩余数据的每一个字节和秘钥字符串的每一个字符做不进位加(按位异或,解密的原理就是 a ^ b ^ b = a)。通过改写cpp工程里的 Image::initWithImageData(const unsigned char * data, ssize_t dataLen),来进行还原图片数据...
1.对cocos2d-x引擎进行修改和恢复的工具,使其具有解密功能。以下: 2.对磁盘文件进行加密解密的工具,方便打包时的批量挑选操作。以下: 这个工具能辨认出文件是不是已被加密,原理是用了之前说的”加密文件头“设计。 这样可以避免对已被加密后的文件再次履行加密,避免对未被加密的文件履行解密。 下降误操作的可能性...
受人所托,逆向一个app。首先查看apk的结构,可以发现游戏的图片和控制逻辑的lua文件都被加密了。游戏引擎是cocos2d,而所有被加密的文件头都是固定的ge2d8!ga*sgf1z99这几个字符,由此推断是xxtea加密。 这种加密在网上流传的破解工具已经很多了,无非是打开so文件找到附近的key值直接解密。所以我也先尝试下能不能直...
cocos2d-LUA逆向之解密app资源 还是以大神apk为例,通过前面分析app解密lua脚本,我们能够解密大神apk的lua脚本,现在我们来解密其资源(配置文件和图片等)。我们以比较重要的配置文件为例,未解密之前: 文件头部也有签名值:fuckyou!。看到这,我们首先就想到是不是也是用xxtea加密的,我们用上面的方法,先xxtea解密,再解压,...
之前遇到过一个有意思的cocos2d游戏。里面的图片资源全都加密了。今天突然想起来。整理一下发出来。 ak 打开软件 发现是cococs游戏,并且资源文件里面全是mp3,没有图片,拖入010里面发现没有模数,是被加密了! 并且文件命名是0到60 ,想到肯定是在一个循环解密。 先想到hook fopen 函数 找到文件操作的地方肯定有...
【针对Cocos2d-x图片资源自定义加密的解密】虽然游戏没有源码, 但是Cocos2d-x是有源码的, 参考进行调试, 还是蛮简单的, 而且记得一句话, 不管你怎么加密, 最后你在内存里, 肯定有一份解密之后的数据。按这个思路, 我们来看看看如何解密,详见:O网页链接(感谢 @西西爸 的分享) ...
由于所有的Lua文件加载必定经过cocos2d::LuaStack::luaLoadBuffer,所以可以直接定位,进行回溯 定位至cocos2dx_lua_loader 在luaLoadBuffer前调用了decodeLuaData,怀疑这就是解密Lua的关键方法 下面是伪代码 此方法首先获取文件数据,而后判断文件头,文件头正是abcd ...
Cocos2dx-lua xxtea解密工具 游戏开发 - cocos2D旋律**dy 上传432.5 KB 文件格式 zip Cocos2dx lua xxtea 可以快速解出cocos-lua, quick-cocos引擎使用xxtea加密的lua与zip文件。对luajit编译过的bytecode毫无办法。 资源来自吾爱破解论坛,作者ID:skyxiaoyu。感谢作者的分享...