小调查:你们是如何对代码进行加密的?

出了bug的时候,你估计想 把自己砍了吧?

有点脱裤放屁了 :rofl:

反正我代码写的像:sheep:羽,根本不需要加密 :rofl:

总还是比直接在调试工具源码那里看到文件结构 直接调试好得多了。至少没那么明显,只能一个个window属性上去找,是不可能修改我代码来用的。再加上一堆没有用的冗余代码,要拿去用应该是蛮难的;

有好方案,欢迎讨论哦。js就像一个脱了衣服的女孩躺在你面前,是挺无奈的。

在纯js环境里谈加密,意义不大;即使aes加密,动态获取密钥、自定义加密算法等都能搞定;不要问我凭什么这么说,问了也没法告诉你:)

可以借助Object.defineProperty,让某个变量比如window,在控制台被查看时触发刷新浏览器逻辑

只需利用babel之类的插件开发一套工具就行了,开发环境下正常,线上全是字母,同时输出一份sourceMap

结果sourcemap发到线上了

xxtea luajit jsc ,这些都能ida反编译找线索破解,还是混淆大法好

微信会过滤js.map文件,其它平台不清楚

实际上,web平台上你打包出来的也是abcd,不用你特意去改

不是的,开发者工具里面按一下"{}"按钮就还原了,变量名都改了但是方法名都是原来的

个人一点思路分享,已在lua中实现:



路径混淆+类内容混淆+luajit双层保护,这样是不可逆的,能让尝破解者多找一会儿想看的东西。

成品:个人独立游戏《机战新世纪》,当年红白机上的第二次超级机器人大战重置,全新剧情全新玩法

可以找压缩工具再压缩一次,理论上是可以支持的

卧槽
大佬这个怎么弄的。。。

之前觉得思路可行就搞了,就是写了个lua代码分析和重命名替换的工具

都是自己加密的 不加密等于东西都要送人了

想问加密对性能影响大吗?本身做小游戏性能就吃紧,如果运行时还要先翻译一下,会对性能有影响吗

不同的加密是不一样的,可以分析一下解密过程在运行时的开销

小游戏能不能跟unity一样,统一用WebAssembly