JavaScript反混淆插件六:删除空行和空语句
【摘要】
在 反混淆插件五 这篇文章中,介绍了 options 的一些功能,忘记介绍如何删除空行了。也很简单,注意 retainLines 这个即可,代码如下:
const output = generator(ast,opts = {"retainLines":true},code);
也可以利用 UltreEdit 这个工具的 正则替换来删...
在 反混淆插件五 这篇文章中,介绍了 options 的一些功能,忘记介绍如何删除空行了。也很简单,注意 retainLines 这个即可,代码如下:
const output = generator(ast,opts = {"retainLines":true},code);
也可以利用 UltreEdit 这个工具的 正则替换来删除空行。即将 ^p^p 替换为 ^p 即可。
当然,代码太过于紧凑也十分的不好看,这个看大家的喜好了。
下面介绍如何删除 空语句。有时候将源代码利用AST调整后,会有很多类似这样的代码:
-
var a = 123;
-
;
-
var b = 456;
其中,中间的 ; 这一行是没必要存在了,那如何编写插件删除没啥用的这行呢?
将代码在在线解析网站上看看:
解析如上图,将鼠标移动到中间的那行 ; ,解析网站自动帮我们定位到这一行代码的AST结构。
可以看到它是一个 EmptyStatement,想要删除这个节点,方法很简单,直接遍历这个节点,再调用 remove 方法即可,代码如下:
-
const visitor = {
-
EmptyStatement(path)
-
{
-
path.remove();
-
},
-
}
就是这么的简单。
好了,就介绍到这里了,大家有什么不懂的地方,可以在群里问,也可以在星球里提问。
文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq523176585/article/details/110790242
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)