mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
test
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
"use strict";
|
||||
|
||||
import kernel from "./Kernel";
|
||||
|
||||
import * as esprima from 'esprima';
|
||||
import * as escodegen from 'escodegen';
|
||||
|
||||
import { INode } from './interfaces/nodes/INode';
|
||||
import { IObfuscator } from "./interfaces/IObfuscator";
|
||||
import { IOptions } from './interfaces/IOptions';
|
||||
|
||||
import { DEFAULT_PRESET } from './preset-options/DefaultPreset';
|
||||
@@ -26,7 +29,7 @@ export class JavaScriptObfuscator {
|
||||
public static obfuscate (sourceCode: string, customOptions?: IOptions): string {
|
||||
let astTree: INode = esprima.parse(sourceCode),
|
||||
options: IOptions = OptionsNormalizer.normalize(Object.assign({}, DEFAULT_PRESET, customOptions)),
|
||||
obfuscator: Obfuscator = new Obfuscator(options);
|
||||
obfuscator: Obfuscator = kernel.get<IObfuscator>('IObfuscator');
|
||||
|
||||
astTree = obfuscator.obfuscateNode(astTree);
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import { IKernel } from "inversify";
|
||||
import { IObfuscator } from "./interfaces/IObfuscator";
|
||||
|
||||
import { Kernel } from "inversify";
|
||||
import { Obfuscator } from "./Obfuscator";
|
||||
|
||||
let kernel: IKernel = new Kernel();
|
||||
|
||||
kernel.bind<IObfuscator>('IObfuscator').to(Obfuscator);
|
||||
|
||||
export default kernel;
|
||||
+7
-3
@@ -1,8 +1,11 @@
|
||||
import { injectable } from "inversify";
|
||||
|
||||
import * as estraverse from 'estraverse';
|
||||
|
||||
import { ICustomNode } from './interfaces/ICustomNode';
|
||||
import { INodesGroup } from './interfaces/INodesGroup';
|
||||
import { INode } from './interfaces/nodes/INode';
|
||||
import { IObfuscator } from "./interfaces/IObfuscator";
|
||||
import { IOptions } from "./interfaces/IOptions";
|
||||
|
||||
import { TNodeObfuscator } from "./types/TNodeObfuscator";
|
||||
@@ -24,7 +27,8 @@ import { SelfDefendingNodesGroup } from "./node-groups/SelfDefendingNodesGroup";
|
||||
import { UnicodeArrayNodesGroup } from './node-groups/UnicodeArrayNodesGroup';
|
||||
import { VariableDeclarationObfuscator } from './node-obfuscators/VariableDeclarationObfuscator';
|
||||
|
||||
export class Obfuscator {
|
||||
@injectable()
|
||||
export class Obfuscator implements IObfuscator {
|
||||
/**
|
||||
* @type {Map<string, Node>}
|
||||
*/
|
||||
@@ -81,14 +85,14 @@ export class Obfuscator {
|
||||
* @param nodeName
|
||||
* @param node
|
||||
*/
|
||||
public setNode (nodeName: string, node: ICustomNode): void {
|
||||
private setNode (nodeName: string, node: ICustomNode): void {
|
||||
this.nodes.set(nodeName, node);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param nodesGroup
|
||||
*/
|
||||
public setNodesGroup (nodesGroup: INodesGroup): void {
|
||||
private setNodesGroup (nodesGroup: INodesGroup): void {
|
||||
let nodes: Map <string, ICustomNode> = nodesGroup.getNodes();
|
||||
|
||||
nodes.forEach((node: ICustomNode, key: string) => {
|
||||
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
import { INode } from "./nodes/INode";
|
||||
|
||||
export interface IObfuscator {
|
||||
obfuscateNode (node: INode): INode;
|
||||
}
|
||||
Reference in New Issue
Block a user