编译修改Luajit-lang-toolkit 解包后发现所有的png资源全部加密了打不开(嘿,但是音频还没有加密……不过并不会有人看嘛)。结合lib发现游戏是cocos2x与Lua编写。虽然Lua出了名的好逆,但是查看文件头后发现是编译后的LuaJIT……还是最新的2.1版。一番操作后找到一个项目luajit-lang-toolkit(以下简称LLT),不过用起...
该方法将cocos2dx_lua_loader方法添加到Lua全局变量package下的loaders成员中//当requires加载脚本时,Lua会使用package下的loaders中的加载器,即cocos2dx_lua_loader来加载//设定cocos2dx_lua_loader,可以使得我们自定义设置搜索路径相关,且拓展实现对脚本的加密解密相关addLuaLoader(cocos2dx_lua_loader);returntrue;...
1、解密.lua文件; 2、解密.png文件。 2LuaJit 反汇编 这个不多介绍了窝,在理论篇中已经提到了。对于此样本的LuaJit的版本是2.1.0-Beta2,并且没有魔改Opcode。 Lua文件加载流程:想要解密.lua文件,了解coco2d-x加载Lua的流程必不可少。 Cocos2d-x环境搭建:参考官方Docs,搭建所需环境:...
3,保存自定义格式文件:另存为自己特殊类型的文件名如"xx.d" "xx.xyz"等。 4,图片解密:修改cocos2dx底层库的获取路径处,和加载CCImage纹理处理时的源码修改; 5,特殊Lua文件界面:修改对应Lua加载方法; 基本原理清楚了后我贴几段我自己项目中常用的加密方式: 首先是转格式并且加密的方式 boolPublicCommen::recode...
我们上面讲到大神app解密lua脚本的关键函数在idaPro导出窗口中的名称是_byds_d_: 这里有一点需要特别注意,由于寻找函数时,寻找的是app got表函数名称而不是导出函数窗口内的函数名称。 所以函数名称一定不要弄错了,不然找不到函数,导致hook不成功。 现在,我们可以写**HOOK_INFO**结构体了: 3. 实现步骤1中声明...
结合lib发现游戏是cocos2x与Lua编写。虽然Lua出了名的好逆,但是查看文件头后发现是编译后的LuaJIT……还是最新的2.1版。一番操作后找到一个项目luajit-lang-toolkit(以下简称LLT),不过用起来有点小问题。make以后在src文件夹生成了luajit-x程序,与luajit的命令行工具参数一样。
cocos2d-LUA逆向之解密app资源 还是以大神apk为例,通过前面分析app解密lua脚本,我们能够解密大神apk的lua脚本,现在我们来解密其资源(配置文件和图片等)。我们以比较重要的配置文件为例,未解密之前: 文件头部也有签名值:fuckyou!。看到这,我们首先就想到是不是也是用xxtea加密的,我们用上面的方法,先xxtea解密,再解压,...
受人所托,逆向一个app。首先查看apk的结构,可以发现游戏的图片和控制逻辑的lua文件都被加密了。游戏引擎是cocos2d,而所有被加密的文件头都是固定的ge2d8!ga*sgf1z99这几个字符,由此推断是xxtea加密。 这种加密在网上流传的破解工具已经很多了,无非是打开so文件找到附近的key值直接解密。所以我也先尝试下能不能直...
cocos2d-LUA逆向中如何解密app资源 还是以大神apk为例,通过前面分析app解密lua脚本,我们能够解密大神apk的lua脚本,现在我们来解密其资源(配置文件和图片等)。我们以比较重要的配置文件为例,未解密之前: 文件头部也有签名值:fuckyou!。看到这,我们首先就想到是不是也是用xxtea加密的,我们用上面的方法,先xxtea解密,再...
好了,现在,我们可以将异或表byte_A1C55F拷贝出来,然后模仿app的解密过程(可从GitHub上找个xor解码脚本,稍作修改即可)写一个小工具,对大神.apk的所有资源进行解密了: 看完上述内容,你们对cocos2d-LUA逆向中如何解密app资源有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支...