js 代码混淆处理办法

本文介绍了JavaScript代码混淆的两种常见手法:颜文字网络表情编码和仅用六种字符的编码,并提供了对应的解密方法。对于前者,可以通过查看VM源代码或修改代码后在控制台运行解密。对于后者,若代码结尾有成对括号,可删除或替换后运行,反之则需要通过代码美化工具定位源码。此外,还讨论了eval()编码的解密策略,即通过改变eval内的代码并输出来揭示原始内容。
一 、将JavaScript 代码转换成颜文字网络表情的编码已达到混淆的目的

原理:这类混淆通常都是使用构造函数将字符串作为代码运行

例如:

const sum = new Function('a','b','return a+b');
console.log(sum(2,6));
解决方法:
1.直接将混淆后的代码粘贴到控制台通过VM 查看源代码 只对报错代码有效
2.对于在控制台输出不报错的代码,第一种方法:删除代码结尾的“(’_’);”,第二种方法:删除后替换为“toString()”方法输出,再将修改后的代码粘贴至控制台运行
二、将JavaScript 代码转换成只有6种字符([, ], (, ), !, +)的编码,以达到混淆的目的

例如:
‘0’:’[+[]]’
‘1’:’[+!+[]]’

解决方法:
1.直接将混淆后的代码粘贴至控制台通过查看VM查看源代码
2.代码最后有成对的括号,删除代码结尾的‘()’ ;或者替换为 ‘toString()’ 或将修改后的代码粘贴至控制台运行。
3.代码最后没有成对括号,只有列如‘)’这种,将代码通过https://beautifier.io/ 这个网站美化以后,复制到编辑器中,通过最后一个括号找到前面括号,把括号之中的代码复制出来,在控制带输出就会得到源码
三、通过eval()编码的代码
解决方法:

将eval 中的代码复制出来,更改为alert / document.write / console.log 在控制台输出就能解密

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值