皮皮网

【httpservlet的源码】【话费平台源码】【无后插件源码】cocosjs 游戏源码_cocos creator游戏源码

来源:溯源码多大尺寸 时间:2024-12-24 10:38:43

1.关于Cocos2dx-js游戏的游r游jsc文件解密
2.cocoscreator和threejs区别
3.Cocos2d-x、Quick-Cocos2d-x、Cocos Studio、Cocos2d-js、Cocos Code IDE的区别
4.Cocos Creator 怎么用js代码实现微信授权登陆
5.cocos creator使用protobuf详细方案

cocosjs 游戏源码_cocos creator游戏源码

关于Cocos2dx-js游戏的jsc文件解密

       上一期关于Cocos2dx-js游戏的jsc文件解密教程后,收到不少同学反馈,戏源戏源提出了相关问题。码c码本文将对这些问题进行初步分析,游r游并提供一些解答。戏源戏源

       首先,码c码httpservlet的源码通过官网下载CocosCreator开发工具并构建编译,游r游发现有脚本加密选项。戏源戏源构建后的码c码样本APK中,通过Jadx-gui进行java层源码分析,游r游了解到assets目录下二进制源代码的戏源戏源加载情况。在入口Cocos2dxActivity处,码c码话费平台源码有一个onLoadNativeLibraries函数加载libcocos2djs.so文件。游r游在AndroidManifest.xml中找到其定义为cocos2djs。戏源戏源

       初步分析显示,码c码脚本加密操作可能发生在非java层,因此将研究对象转移至libcocos2djs.so文件。通过阅读Cocos2dx源码,发现其使用xxtea加密和解密。CocosCreator构建项目过程则相反,运行时进行解密操作。

       为了获取Key值,我们以两个游戏案例进行分析。无后插件源码游戏A中,将libcocos2djs.so文件拖入十六进制编辑器搜索ASCII字符串"Cocos Game",未找到相关信息。使用IDA分析libcocos2djs.so文件,发现函数名简洁,未进行安全处理。搜索xxtea / key函数,找到相关函数。尝试直接在so层获取Key值,发现jsb_set_xxtea_key函数可能设置Key。通过回溯,源码网投稿找到了游戏A中的Key值(v),使用该值成功解密jsc文件。

       游戏B的分析类似,同样在jsb_set_xxtea_key函数中找到Key值(v),并通过附近的字符串找到可疑的Key值和Cocos Game。尝试使用此Key值解密,同样获得成功。对比游戏A中的密匙,发现都位于applicationDidFinishLaunching函数内,可能为新的找Key值的关键。

       通过阅读相关源码,战神线源码了解Cocos2d-x应用入口中加载完成时回调的方法。结合CocosCreator构建项目过程,理解游戏应用环境加载完毕后,Key值传入解密函数中,解密文件化为js文件,并在内存中拷贝,游戏调用js文件进入游戏界面。

       在其他关键函数分析中,可以进一步探索解密过程。例如,在xxtea_decrypt函数中观察memcpy和memset操作,以及do_xxtea_decrypt函数的大量计算。结合CocosCreator源代码,可以确定传入参数中的Key值。使用Frida框架在游戏运行时Hook xxtea_decrypt函数,通过简单的js脚本直接获取Key值,操作相对简单。

       关于解密工具,获取Key值后,直接参照CocosCreator源代码实现解密逻辑即可。此外,网上也存在一些封装好的加解密程序,如jsc解密v1.,可满足当前Cocos2dx版本的文件加解密需求,操作较为简单。

       总结,通过初步分析和实例探索,已经提供了一些解密Cocos2dx-js游戏jsc文件的关键步骤和方法。欢迎交流和分享更多见解。

cocoscreator和threejs区别

cocoscreator更适合用来做2D动画效果。three.js更适合用来做3D模型效果。

       three.js更适合用来做3D模型效果。如:跳一跳就是three.js制作的。cocoscreator更适合用来做2D动画效果。如:斗地主,卡牌游戏一般就是cocoscreator制作的。

       CocosCreator是一款优秀的开源移动游戏引擎,在全球范围内拥有数量庞大的用户。

Cocos2d-x、Quick-Cocos2d-x、Cocos Studio、Cocos2d-js、Cocos Code IDE的区别

       Cocos2d-x是跨平台的框架,用C++,包括windows、ios、android、linux等都可以移植。

       Quick-Cocos2d-x是在Cocos2d-x上加了一些功能,具体我也没用过,我只用过Cocos2d-x。

       è€ŒCocos2d-js是用JS语言,主要是用于网页端游戏的开发。

       Cocos Studio主要是游戏界面和动画的设计。

       Cocos Code IDE是cocos官方发布的编程开发环境。如果不用官方的,我们可以用eclipse和vs等其他IDE,配置好之后进行开发。

       Cocos2d-x的2.X版本和3.X差别还挺大的,两边的代码不太能兼容,需要一些小修改才能运行。

       çº¯æ‰‹æ‰“。。。

Cocos Creator 怎么用js代码实现微信授权登陆

       btnsetBright(false)先给btn设置禁用状态的,然后选中这个btn时,该btn调用上面的方法并设置成false。如果取消的话可设置成true。Cocos Creator 怎么用js代码实现微信授权登陆

cocos creator使用protobuf详细方案

       protobufjs:6.x.x、7.x.x版本皆可

       cocos creator:需使用“导入映射”,建议v3.3及以上版本

       node参考版本:v..0

       npm参考版本:8.5.5,安装protobufjs或执行脚本时报错,升级至指定及以上版本再试

       三、安装protobufjs

       package.json中dependencies有指定版本则直接使用npm install,否则使用npm install --save protobufjs

       需要注意的是protobufjs7需要单独安装protobufcli(npm install --save protobufjs-cli),protobufjs6则在安装protobufjs时默认集成。

       四、构建pb流程

       1、提供构建protobuf协议指令

       package.json

       2、缩减生成单文件大小

       --no-verify --no-convert --no-delimited --no-beautify --no-service

       移除不需要的内容,需要通过生成带注释的js文件来生成ts,后可再生成一份不带注释的js文件替换

       3、修正模块

       解决es6规范default无定义的问题;微信小游戏平台生成代码被混淆后可以根据pb对象获得pb名;位数据支持

       4、输出生成pb文件的package.json

       五、导入映射

       添加文件import-map.json

       tsconfig.json修改为

       如果遇到找不到模块 "pb"报错:一般为配置未能刷新,重启cocos creator即可

       六、使用

       安装依赖:npm install

       构建协议:npm run buildproto

       使用示例(无需主动import,代码提示自动导入即可,对应pb对象也有代码提示):

       七、pb工具函数

       encode

       decode

       克隆pb(类似其他语言的CopyFrom)

       根据pb对象获得pb名

       根据pb名获得pb类型

       八、示例工程

       CocosCreatorProtobuf