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

同学们好,缘分又让我们相遇在同一个帖子!

这次的问题是,在发布项目时,你们是如何对代码进行加密的?请帮忙投个票。

Web/小游戏平台

  • 没需求
  • 有需求但没有加密过
  • 用 Store 的加密插件(欢迎评论分享)
  • 用自研或第三方工具(欢迎评论分享)

0 投票者

PS:编辑器对 JS 代码的压缩不算加密,这里特指 JS 混淆,混淆可能导致包体膨胀或性能降低

原生平台

  • 没需求
  • 有需求但没有加密过
  • 用编辑器自带的加密脚本功能
  • 用 Store 的加密插件(欢迎评论分享)
  • 用自研或第三方工具(欢迎评论分享)

0 投票者

感谢!

2赞

混淆其实屁用没有,对于破解方就是多费几分钟时间而已。

相对来说 代码安全还是 Luajit 最佳 比 JS的 compile 安全不少 但要跑浏览器 只能JS

希望官方能出个加密代码和资源的工具

1赞

贡献一个我之前的方法,仅供参考:
1、将代码混淆加密后,加载到一张图片里;
2、web前端用c++写的解密模块,将解密出来的js直接写到window上;
3、通过浏览器调试工具的Soures,无法查看到任何一个脚本文件;只能在window上输出对象;

密钥也是动态写在图片里,可以每一个图片脚本解密的密钥都不同,通过一定规则在c++里找出图片里隐藏的密钥;

当然我时做h5编辑器 不是游戏;没有热更这些概念;将整个编辑器的代码打成了一个图片。

在 js 写到 Window 的地方加个断点或者 console.log 不就全部看到了?

忘记说了,我之前把c++代码写到swf里( Alchemy),然后js调用脚本也是写到swf里。当然现在swf不支持了,
WebAssembly能做啥我也没研究过;

mark一下,坐等优秀方案

接口变量,接口名,方法名全用abcd,我就不信有人能破解

1赞

那到后面你自己也破解不了了。

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

有点脱裤放屁了 :rofl:

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

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

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

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

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

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

结果sourcemap发到线上了

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

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