zoukankan      html  css  js  c++  java
  • ast babel generator

    https://blog.csdn.net/qq523176585/article/details/110298488

    import { parse } from "@babel/parser";
    import generate from "@babel/generator";
     
     
    const code = "class Example {}";
    const ast = parse(code);
     
     
    const output = generate(
      ast,
      {
        /* options */
      },
      code
    );

    Options功能一
    Unicode转中文或者其他非ASCII码字符。

    代码
    const output = generator(ast,opts = {jsescOption:{"minimal":true}},code);
    应用场景
    在js的混淆代码中,越来越多的使用Unicode来对可识别的中文字符进行编码,这样非常的不利于查找和分析。

    Options功能二
    代码压缩

    代码
    const output = generator(ast,opts = {"compact":true},code);

    应用场景
    著名的在线混淆网站obfuscator,有个对代码检测的选项,如果发现代码被格式化,则进入死循环,直至内存耗尽为止。如果将该代码格式化后eval到处理混淆的代码中,也将内存溢出,因此将这部分代码进行压缩,在eval到处理混淆的代码中,即可正常调用解密函数。

    Options功能三
    删除所有注释

    代码
    const output = generator(ast,opts = {"comments":false},code);
    应用场景
    代码很简单,注释又非常多的时候,有时候注释反而烦人。
    ————————————————
    版权声明:本文为CSDN博主「悦来客栈的老板」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq523176585/article/details/110298488



  • 相关阅读:
    学习Python第五天
    学习Python第三天
    Mongodb
    JMS links
    笔记整理
    a* products
    String
    business knowledge
    [Java coding] leetcode notes
    [Java Basics3] XML, Unit testing
  • 原文地址:https://www.cnblogs.com/angdh/p/14984700.html
Copyright © 2011-2022 走看看