破解js层脚本密钥的可行性

1.咱们cocos creator的脚本密钥默认是16位的,看网上有暴力破解工具,不知道那个工具破解这个密钥需要多少时间?
2.咱们cocos creator的脚本密钥是否存在apk包里,在什么位置,是否可以通过解压包找得到?
3.如果每次 热更包的时候都修改一次 脚本密钥 是否会有问题?
4.咱们游戏的话 可以把这个密钥加长到多少位?

2赞

我测试了
3. 更新脚本密码 热更新则会无法进入游戏啦!
4. 密钥只能16位!,编辑器输入框只能输入16位呀!
image

c++ 里面找到 applicationDidFinishLaunching ,里面有个设置这个密码的key.想破解,也得hook到c++ 层

我游戏已经被破了!
损失惨重呀!
外挂已经知道 脚本密码了! 只是不知道他怎么拿到的呢!

修改算法,不用自带的!!

好像把so库整到ida里面能找到密码的

1赞
  1. 脚本密码在C++层,直接从apk里找到的话 是要反编译so文件?

破解密钥对一些人来说太简单了。。。你不能指望creator完全帮你搞好。所有有些代码混淆也是必要的

1赞

so库 用16进制编辑器打开 就可以找到 脚本加密密匙

既然有人提了,官方来看看吧,保护大家的劳动成果~~~

不错,值得重视

客户端加密本身就不现实啊,如果确实很重要,那主要逻辑放服务器吧

现在是 外挂用服务器 模拟客户端 给游戏服务器发消息, 就是脱机挂呀!

cocoscreator 的 js 代码,就是在裸奔,不要对它的安全性有太大的期待。

这种建议收集证据,直接报案

兄弟呀! 报案, 抓他! ~~~

加密和混淆其实自己写的安全性会更高一点,因为只要是市面上发布的加密工具,都很大概率被专门破解的人研究透了,会针对性的寻找秘钥使用的地方或者获取的地方。而如果自己写的加密,再加上混淆,起码可以让破解者破解门槛变高很多,毕竟先寻找特定代码就要寻找好久了

自己写加密,我不太会呀!
我想如果把 密钥用一个方法算出来,而不是直接的字符串在代码上,是否可以增加破解难度呢!
就是在C++代码 applicationDidFinishLaunching这个方法里
先运算一下,字符拼接,字符加减乘除,然后算出来一个字符串,
再传给 jsb_set_xxtea_key(“运算出来的字符串”);
会不会破解.so文件 一眼看不到这个字符串,而必须能看到 方法代码才能知道密钥呢!

我下载ida的破解版 倒是能反编译so文件,可惜我没找到,就是我没反编译到函数体
都是一些地址,汇编之类的,
不知道是我的ida版本不行,还是其他什么的!

难道非要花钱加固啦吗!
一年要10W呀!小游戏公司举步维艰啊!