dev.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. 'use strict';
  2. import { NO_ADDITIONAL_NODES_PRESET } from '../../src/options/presets/NoCustomNodes';
  3. import { IdentifierNamesGenerator } from '../../src/enums/generators/identifier-names-generators/IdentifierNamesGenerator';
  4. import { StringArrayWrappersType } from '../../src/enums/node-transformers/string-array-transformers/StringArrayWrappersType';
  5. import { StringArrayEncoding } from '../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
  6. (function () {
  7. const JavaScriptObfuscator: any = require('../../index');
  8. let obfuscatedCode: string = JavaScriptObfuscator.obfuscate(
  9. `
  10. const foo = 'aaa';
  11. function test (a, b) {
  12. const bar = 'bbb';
  13. const baz = 'ccc';
  14. function test1 (a, b) {
  15. const bark = 'ddd';
  16. const hawk = 'eee';
  17. function test2 (a, b) {
  18. const bark = 'ddd';
  19. const hawk = 'eee';
  20. return bark + hawk;
  21. }
  22. return bark + hawk;
  23. }
  24. return bar + baz + test1();
  25. }
  26. foo + test();
  27. `,
  28. {
  29. ...NO_ADDITIONAL_NODES_PRESET,
  30. compact: false,
  31. identifierNamesGenerator: IdentifierNamesGenerator.MangledIdentifierNamesGenerator,
  32. stringArray: true,
  33. stringArrayThreshold: 1,
  34. stringArrayEncoding: [
  35. StringArrayEncoding.None,
  36. StringArrayEncoding.Rc4
  37. ],
  38. stringArrayWrappersChainedCalls: true,
  39. stringArrayWrappersCount: 5,
  40. stringArrayWrappersType: StringArrayWrappersType.Function
  41. }
  42. ).getObfuscatedCode();
  43. console.log(obfuscatedCode);
  44. console.log(eval(obfuscatedCode));
  45. })();