请教下打包后的 js 代码混淆

2023-10-26 23:32:07 +08:00
 unt

通常各位大佬们采用哪种方法,平时会做混淆吗。

混淆后会不会代码兼容性变差,会变得在某些场合下运行报错。

比较方便的混淆方式是怎么样的。

2004 次点击
所在节点    JavaScript
12 条回复
musi
2023-10-26 23:38:00 +08:00
一般不混淆,前端混淆用处不大
Pionxzh
2023-10-26 23:42:47 +08:00
前端没有秘密,做半吊子的混淆跟没做一样,除非你愿意花大力气做
streamrx
2023-10-27 00:35:06 +08:00
客户端做混淆 只要逆向的收益大于付出是成本,就 100%会被破解
unt
2023-10-27 01:17:16 +08:00
@musi
@Pionxzh
@streamrx 完全加密不可能。而且可能影响性能,所以目的从来都不是什么绝对安全。而是让打开代码的人没有看的欲望
mightybruce
2023-10-27 01:25:24 +08:00
seki
2023-10-27 01:40:59 +08:00
除非混淆器有 bug ,一般来讲不会报错

如果就是不想让人看,那其实不混淆问题也不大的,本来也没什么人会专门看代码……
tool2d
2023-10-27 01:46:46 +08:00
用 google 的 Google Closure Compiler ,我自己觉得挺好用。

https://tool2d.com/#js
mightybruce
2023-10-27 01:48:13 +08:00
前端如果要混淆到足够难度一般就不会用 js 了,用 wasm 会比较方便。
wu67
2023-10-27 10:35:40 +08:00
不混, 就稍微压一下空格换行之类的, 减少打包体积, 甚至压缩都不做
kaf
2023-10-27 11:23:15 +08:00
去年还有各种问前端混淆怎么还原的,只能说还是可以难倒不少人,只是不用在混淆上过分给自己找事做,压缩下空格换行,乱码一下变量方法名就行了
rekulas
2023-10-27 22:51:48 +08:00
见过最强的 js 混淆还不是大厂,大厂任务重现在没多少团队喜欢这个,前几年看到境外赌博网站用 js 实现了简单的虚拟机然后核心逻辑跑字节 code...
Pionxzh
2023-10-27 23:30:03 +08:00
正常的混淆器是不会造成运行报错的,但要用就是要承担性能及体积的惩罚,这种事主要还是看你想防御的对象。问题有点太 general 了,只能给你这样的答案。

---

最近正好在实现 JS 的 Decompiler.
https://github.com/pionxzh/wakaru

主要是针对各大打包器以及 Minifier ,不处理混淆,但也足够看大多数代码了,欢迎体验看看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/985810

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX