在打开加密的jsc文件,在hook 结果中搜索一下加密数据的前几位,就可以确定是否是我们想要的数据。 那么接下来就可以写代码验证了,解密方法为xxtea_decrypt, 密钥为bc337194-20c1-45。主要代码如下: def export_data( jsc_file_path: str, encryption_key_str: str,...
在打开加密的jsc文件,在hook 结果中搜索一下加密数据的前几位,就可以确定是否是我们想要的数据。 那么接下来就可以写代码验证了,解密方法为xxtea_decrypt, 密钥为bc337194-20c1-45。主要代码如下: def export_data( jsc_file_path: str, encryption_key_str: str, output_file_path: str ) -> Optional[tupl...
明确了加载Assets目录资源的操作大概率不在java层后,再结合非虫前辈的“jsc反编译工具编写探索之路”,研究对象随即转移到libcocos2djs.so上。 构建过程 通过阅读Cocos2dx源码发现,其脚本加解密用的就是xxtea加密和解密(和Cocos2dx-lua加解密相似)。进而结合CocosCreator了解到其构建项目的过程为: 工程用到的所有js脚本聚...
虽然SpiderMonkey看着很大,但解密jsc文件只需要其中一点点,都在js/src/里面,另外,针对具体使用的编译环境,需要修改configure文件内的编译器,我当时的环境是修改configure.in内c99为gnu99。 真正的解密过程,其实就是调用接口,解密接口为JS_DecodeScript,为了解密后的数据能够输出,还需要实现一个将解密结果输出的函数,我...
而游戏的一些功能就会通过js脚本来实现,因此cocos2djs逆向首要事件就是将.jsc解密,通常.jsc会存放在apk內的assets目录下。 获取解密key 方法一:从applicationDidFinishLaunching入手 方法二:HOOK 1.hookset_xxtea_key // soName: libcocos2djs.so function hook_jsb_set_xxtea_key(soName)...
“介绍cocos2d游戏中常用的jsc格式文件的解密。” 01 — 在破解游戏应用中,经常会碰到后缀为jsc的文件,这是基于cocos2d开发的游戏的加密代码,本质上是js文件,只是被加密了。 例如之前分析的网络赌博应用奥迪棋牌和它的兄弟途游斗地主,都是cocos2d游戏,其游戏代码主体就是使用js写的,然后加密成jsc格式。
首先我们查看调用解密方法的地方。主要逻辑如下图: 这时候我们基本上确定和分析的一样,我们可以hook看一下数据。在打开加密的jsc文件,在hook 结果中搜索一下加密数据的前几位,就可以确定是否是我们想要的数据。 那么接下来就可以写代码验证了,解密方法为xxtea_decrypt, 密钥为bc337194-20c1-45。主要代码如下: ...
OK,自定义类型的资源解密就搞定了,但这只处理了PNG图片类型的加密,其他图片类型资源可以按照这种方式处理。 好了,那么有同学问,那么JS,Lua脚本的解密呢? 看这里 ScirptingCore.cpp: //Check whether '.jsc' files exist to avoid outputing log which says 'couldn't find .jsc file'.CCLOG("byteCodePath ...
加密是将数据转换为不可读的形式,以防止未经授权的访问。解密则是将加密的数据转换回原始形式。在游戏开发中,加密通常用于保护游戏资源、代码和数据。 优势 保护知识产权:防止游戏资源被盗用。 防止作弊:通过加密游戏逻辑和数据,减少作弊的可能性。 提高安全性:确保游戏数据在传输和存储过程中的安全。
拿到key后直接解密jsc,用在吾爱找到了一个工具 成功解密拿到明文代码,然后再把解密后的js代码拖进vscode分析一下 这里的发包都是使用的send发起 WebSocket 尝试使用wpe抓封包看一下,这里发起的send数据是加密的 大概分析了一下js,代码貌似并没有对数据进行加密 ...