通常各位大佬们采用哪种方法,平时会做混淆吗。
混淆后会不会代码兼容性变差,会变得在某些场合下运行报错。
比较方便的混淆方式是怎么样的。
![]() | 1 musi 2023-10-26 23:38:00 +08:00 via iPhone 一般不混淆,前端混淆用处不大 |
![]() | 2 Pionxzh 2023-10-26 23:42:47 +08:00 前端没有秘密,做半吊子的混淆跟没做一样,除非你愿意花大力气做 |
3 streamrx 2023-10-27 00:35:06 +08:00 via iPhone 客户端做混淆 只要逆向的收益大于付出是成本,就 100%会被破解 |
![]() | 4 unt OP |
![]() | 5 mightybruce 2023-10-27 01:25:24 +08:00 ![]() |
![]() | 6 seki 2023-10-27 01:40:59 +08:00 除非混淆器有 bug ,一般来讲不会报错 如果就是不想让人看,那其实不混淆问题也不大的,本来也没什么人会专门看代码…… |
![]() | 7 tool2d 2023-10-27 01:46:46 +08:00 |
![]() | 8 mightybruce 2023-10-27 01:48:13 +08:00 前端如果要混淆到足够难度一般就不会用 js 了,用 wasm 会比较方便。 |
![]() | 9 wu67 2023-10-27 10:35:40 +08:00 不混, 就稍微压一下空格换行之类的, 减少打包体积, 甚至压缩都不做 |
10 kaf 2023-10-27 11:23:15 +08:00 去年还有各种问前端混淆怎么还原的,只能说还是可以难倒不少人,只是不用在混淆上过分给自己找事做,压缩下空格换行,乱码一下变量方法名就行了 |
![]() | 11 rekulas 2023-10-27 22:51:48 +08:00 见过最强的 js 混淆还不是大厂,大厂任务重现在没多少团队喜欢这个,前几年看到境外赌博网站用 js 实现了简单的虚拟机然后核心逻辑跑字节 code... |
![]() | 12 Pionxzh 2023-10-27 23:30:03 +08:00 正常的混淆器是不会造成运行报错的,但要用就是要承担性能及体积的惩罚,这种事主要还是看你想防御的对象。问题有点太 general 了,只能给你这样的答案。 --- 最近正好在实现 JS 的 Decompiler. https://github.com/pionxzh/wakaru 主要是针对各大打包器以及 Minifier ,不处理混淆,但也足够看大多数代码了,欢迎体验看看 |