12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- "use strict";
- const NodeObfuscator_1 = require('./NodeObfuscator');
- const Utils_1 = require('../Utils');
- let estraverse = require('estraverse');
- class VariableDeclarationObfuscator extends NodeObfuscator_1.NodeObfuscator {
- constructor(...args) {
- super(...args);
- this.variableName = new Map();
- }
- obfuscateNode(variableDeclarationNode, parentNode) {
- if (parentNode.type === 'Program') {
- return;
- }
- this.replaceVariableName(variableDeclarationNode);
- this.replaceVariableCalls(parentNode);
- }
- replaceVariableName(variableDeclarationNode) {
- variableDeclarationNode.declarations.forEach((declarationNode) => {
- estraverse.replace(declarationNode, {
- leave: (node) => {
- if (node.type !== 'VariableDeclarator') {
- return;
- }
- estraverse.replace(node.id, {
- leave: (node) => {
- this.variableName.set(node.name, Utils_1.Utils.getRandomVariableName());
- node.name = this.variableName.get(node.name);
- }
- });
- }
- });
- });
- }
- replaceVariableCalls(variableParentNode) {
- estraverse.replace(variableParentNode, {
- leave: (node, parentNode) => {
- this.replaceNodeIdentifierByNewValue(node, parentNode, this.variableName);
- }
- });
- }
- }
- exports.VariableDeclarationObfuscator = VariableDeclarationObfuscator;
- //# sourceMappingURL=VariableDeclarationObfuscator.js.map
|