JavaScript 代码混淆实战(二):将 BinaryExpression 类型转换为 CallExpression 类型
“继续学习操作AST”我们今天来看看,如何将一个BinaryExpression类型的节点转换成CallExpression类型的节点。即将代码:vara=123|456;转换为:vara=function(s,h){returns|h;}(123,456);为什么要这么做,因为一个BinaryExpression类型的节点(操作符两边都是Literal类型的节点)很容易就给还原了,如果将其转变成