403Webshell
Server IP : 107.13.46.68  /  Your IP : 216.73.216.232
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux mariOS 6.8.0-51-generic #52-Ubuntu SMP PREEMPT_DYNAMIC Thu Dec 5 13:09:44 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/node_modules/babel-plugin-transform-charcodes/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/node_modules/babel-plugin-transform-charcodes/lib/index.mjs
import * as charcodes from "charcodes";
import { parse } from "@babel/parser";
import traverse from '@babel/traverse';
export default function (babel) {
  var t = babel.types;
  function parseFunctionSource(str) {
    var root = parse(str, {
      sourceType: 'script'
    });
    return root.program.body[0];
  }
  function createInlineFunction(func, id) {
    traverse(func, {
      noScope: true,
      Identifier: function Identifier(path) {
        var name = path.node.name;
        if (typeof charcodes[name] !== "undefined" && typeof charcodes[name] !== "function") {
          path.replaceWith(t.NumericLiteral(charcodes[name]));
        }
      }
    });
    return t.variableDeclaration('var', [t.variableDeclarator(id, t.toExpression(func))]);
  }
  return {
    visitor: {
      ImportDeclaration: function ImportDeclaration(path, state) {
        if (path.node.source.value === "charcodes") {
          state.importedLocalName = path.node.specifiers[0].local.name;
          path.remove();
        }
      },
      MemberExpression: function MemberExpression(path, state) {
        if (typeof state.importedLocalName !== "undefined" && path.node.object.name == state.importedLocalName) {
          var rightName = path.node.property.name;
          var charCodeValue = charcodes[rightName];
          if (typeof charCodeValue === "undefined") {
            throw new Error("unknown key " + rightName);
          } else if (typeof charCodeValue !== "function") {
            path.replaceWith(t.NumericLiteral(charCodeValue));
          } else {
            var fn = parseFunctionSource(charCodeValue.toString());
            var id = path.scope.generateUidIdentifier(rightName);
            state._toHoist.push(createInlineFunction(fn, id));
            path.replaceWith(id);
          }
        }
      },
      Program: {
        enter: function enter(path, state) {
          state._toHoist = [];
        },
        exit: function exit(path, state) {
          state._toHoist.forEach(function (x) {
            path.node.body.unshift(x);
          });
        }
      }
    }
  };
}

Youez - 2016 - github.com/yon3zu
LinuXploit