|
@@ -6,68 +6,68 @@ import { TStatement } from '../../types/TStatement';
|
|
|
import { IOptions } from '../../interfaces/IOptions';
|
|
|
|
|
|
import { AppendState } from '../../enums/AppendState';
|
|
|
-import { UnicodeArrayEncoding } from '../../enums/UnicodeArrayEncoding';
|
|
|
+import { StringsArrayEncoding } from '../../enums/StringsArrayEncoding';
|
|
|
|
|
|
import { NO_CUSTOM_NODES_PRESET } from '../../preset-options/NoCustomNodesPreset';
|
|
|
|
|
|
import { AtobTemplate } from '../../templates/custom-nodes/AtobTemplate';
|
|
|
import { Rc4Template } from '../../templates/custom-nodes/Rc4Template';
|
|
|
-import { SelfDefendingTemplate } from '../../templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/SelfDefendingTemplate';
|
|
|
-import { UnicodeArrayBase64DecodeNodeTemplate } from '../../templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/UnicodeArrayBase64DecodeNodeTemplate';
|
|
|
-import { UnicodeArrayCallsWrapperTemplate } from '../../templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/UnicodeArrayCallsWrapperTemplate';
|
|
|
-import { UnicodeArrayRc4DecodeNodeTemplate } from '../../templates/custom-nodes/unicode-array-nodes/unicode-array-calls-wrapper/UnicodeArrayRC4DecodeNodeTemplate';
|
|
|
+import { SelfDefendingTemplate } from '../../templates/custom-nodes/strings-array-nodes/strings-array-calls-wrapper/SelfDefendingTemplate';
|
|
|
+import { StringsArrayBase64DecodeNodeTemplate } from '../../templates/custom-nodes/strings-array-nodes/strings-array-calls-wrapper/StringsArrayBase64DecodeNodeTemplate';
|
|
|
+import { StringsArrayCallsWrapperTemplate } from '../../templates/custom-nodes/strings-array-nodes/strings-array-calls-wrapper/StringsArrayCallsWrapperTemplate';
|
|
|
+import { StringsArrayRc4DecodeNodeTemplate } from '../../templates/custom-nodes/strings-array-nodes/strings-array-calls-wrapper/StringsArrayRC4DecodeNodeTemplate';
|
|
|
|
|
|
import { AbstractCustomNode } from '../AbstractCustomNode';
|
|
|
import { JavaScriptObfuscator } from '../../JavaScriptObfuscator';
|
|
|
import { NodeAppender } from '../../node/NodeAppender';
|
|
|
import { NodeUtils } from '../../node/NodeUtils';
|
|
|
-import { UnicodeArray } from '../../UnicodeArray';
|
|
|
+import { StringsArray } from '../../StringsArray';
|
|
|
|
|
|
-export class UnicodeArrayCallsWrapper extends AbstractCustomNode {
|
|
|
+export class StringsArrayCallsWrapper extends AbstractCustomNode {
|
|
|
/**
|
|
|
* @type {AppendState}
|
|
|
*/
|
|
|
protected appendState: AppendState = AppendState.AfterObfuscation;
|
|
|
|
|
|
/**
|
|
|
- * @type {UnicodeArray}
|
|
|
+ * @type {StringsArray}
|
|
|
*/
|
|
|
- private unicodeArray: UnicodeArray;
|
|
|
+ private stringsArray: StringsArray;
|
|
|
|
|
|
/**
|
|
|
* @type {string}
|
|
|
*/
|
|
|
- private unicodeArrayName: string;
|
|
|
+ private stringsArrayName: string;
|
|
|
|
|
|
/**
|
|
|
* @type {string}
|
|
|
*/
|
|
|
- private unicodeArrayCallsWrapperName: string;
|
|
|
+ private stringsArrayCallsWrapperName: string;
|
|
|
|
|
|
/**
|
|
|
- * @param unicodeArrayCallsWrapperName
|
|
|
- * @param unicodeArrayName
|
|
|
- * @param unicodeArray
|
|
|
+ * @param stringsArrayCallsWrapperName
|
|
|
+ * @param stringsArrayName
|
|
|
+ * @param stringsArray
|
|
|
* @param options
|
|
|
*/
|
|
|
constructor (
|
|
|
- unicodeArrayCallsWrapperName: string,
|
|
|
- unicodeArrayName: string,
|
|
|
- unicodeArray: UnicodeArray,
|
|
|
+ stringsArrayCallsWrapperName: string,
|
|
|
+ stringsArrayName: string,
|
|
|
+ stringsArray: StringsArray,
|
|
|
options: IOptions
|
|
|
) {
|
|
|
super(options);
|
|
|
|
|
|
- this.unicodeArrayCallsWrapperName = unicodeArrayCallsWrapperName;
|
|
|
- this.unicodeArrayName = unicodeArrayName;
|
|
|
- this.unicodeArray = unicodeArray;
|
|
|
+ this.stringsArrayCallsWrapperName = stringsArrayCallsWrapperName;
|
|
|
+ this.stringsArrayName = stringsArrayName;
|
|
|
+ this.stringsArray = stringsArray;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @param blockScopeNode
|
|
|
*/
|
|
|
public appendNode (blockScopeNode: TNodeWithBlockStatement): void {
|
|
|
- if (!this.unicodeArray.getLength()) {
|
|
|
+ if (!this.stringsArray.getLength()) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -78,7 +78,7 @@ export class UnicodeArrayCallsWrapper extends AbstractCustomNode {
|
|
|
* @returns {string}
|
|
|
*/
|
|
|
public getNodeIdentifier (): string {
|
|
|
- return this.unicodeArrayCallsWrapperName;
|
|
|
+ return this.stringsArrayCallsWrapperName;
|
|
|
};
|
|
|
|
|
|
/**
|
|
@@ -91,53 +91,53 @@ export class UnicodeArrayCallsWrapper extends AbstractCustomNode {
|
|
|
/**
|
|
|
* @returns {string}
|
|
|
*/
|
|
|
- protected getDecodeUnicodeArrayTemplate (): string {
|
|
|
- let decodeUnicodeArrayTemplate: string = '',
|
|
|
+ protected getDecodeStringsArrayTemplate (): string {
|
|
|
+ let decodeStringsArrayTemplate: string = '',
|
|
|
selfDefendingCode: string = '';
|
|
|
|
|
|
if (this.options.selfDefending) {
|
|
|
selfDefendingCode = SelfDefendingTemplate().formatUnicorn({
|
|
|
- unicodeArrayCallsWrapperName: this.unicodeArrayCallsWrapperName,
|
|
|
- unicodeArrayName: this.unicodeArrayName
|
|
|
+ stringsArrayCallsWrapperName: this.stringsArrayCallsWrapperName,
|
|
|
+ stringsArrayName: this.stringsArrayName
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- switch (this.options.unicodeArrayEncoding) {
|
|
|
- case UnicodeArrayEncoding.base64:
|
|
|
- decodeUnicodeArrayTemplate = UnicodeArrayBase64DecodeNodeTemplate().formatUnicorn({
|
|
|
+ switch (this.options.stringsArrayEncoding) {
|
|
|
+ case StringsArrayEncoding.base64:
|
|
|
+ decodeStringsArrayTemplate = StringsArrayBase64DecodeNodeTemplate().formatUnicorn({
|
|
|
atobPolyfill: AtobTemplate(),
|
|
|
selfDefendingCode,
|
|
|
- unicodeArrayCallsWrapperName: this.unicodeArrayCallsWrapperName
|
|
|
+ stringsArrayCallsWrapperName: this.stringsArrayCallsWrapperName
|
|
|
});
|
|
|
|
|
|
break;
|
|
|
|
|
|
- case UnicodeArrayEncoding.rc4:
|
|
|
- decodeUnicodeArrayTemplate = UnicodeArrayRc4DecodeNodeTemplate().formatUnicorn({
|
|
|
+ case StringsArrayEncoding.rc4:
|
|
|
+ decodeStringsArrayTemplate = StringsArrayRc4DecodeNodeTemplate().formatUnicorn({
|
|
|
atobPolyfill: AtobTemplate(),
|
|
|
rc4Polyfill: Rc4Template(),
|
|
|
selfDefendingCode,
|
|
|
- unicodeArrayCallsWrapperName: this.unicodeArrayCallsWrapperName
|
|
|
+ stringsArrayCallsWrapperName: this.stringsArrayCallsWrapperName
|
|
|
});
|
|
|
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- return decodeUnicodeArrayTemplate;
|
|
|
+ return decodeStringsArrayTemplate;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @returns {TStatement[]}
|
|
|
*/
|
|
|
protected getNodeStructure (): TStatement[] {
|
|
|
- const decodeNodeTemplate: string = this.getDecodeUnicodeArrayTemplate();
|
|
|
+ const decodeNodeTemplate: string = this.getDecodeStringsArrayTemplate();
|
|
|
|
|
|
return NodeUtils.convertCodeToStructure(
|
|
|
JavaScriptObfuscator.obfuscate(
|
|
|
- UnicodeArrayCallsWrapperTemplate().formatUnicorn({
|
|
|
+ StringsArrayCallsWrapperTemplate().formatUnicorn({
|
|
|
decodeNodeTemplate,
|
|
|
- unicodeArrayCallsWrapperName: this.unicodeArrayCallsWrapperName,
|
|
|
- unicodeArrayName: this.unicodeArrayName
|
|
|
+ stringsArrayCallsWrapperName: this.stringsArrayCallsWrapperName,
|
|
|
+ stringsArrayName: this.stringsArrayName
|
|
|
}),
|
|
|
NO_CUSTOM_NODES_PRESET
|
|
|
).getObfuscatedCode()
|