javascript-obfuscator 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  Change Log
2
2
 
3
+ v3.2.1
4
+ ---
5
+ * Updated copyright
6
+
3
7
  v3.2.0
4
8
  ---
5
9
  * **New options**: `stringArrayCallsTransform` and `stringArrayCallsTransformThreshold`
package/README.md CHANGED
@@ -1102,11 +1102,71 @@ Type: `boolean` Default: `true`
1102
1102
  Removes string literals and place them in a special array. For instance, the string `"Hello World"` in `var m = "Hello World";` will be replaced with something like `var m = _0x12c456[0x1];`
1103
1103
 
1104
1104
  ### `stringArrayCallsTransform`
1105
- Type: `boolean` Default: `true`
1105
+ Type: `boolean` Default: `false`
1106
1106
 
1107
1107
  ##### :warning: [`stringArray`](#stringarray) option must be enabled
1108
1108
 
1109
- Enables the transformation of calls to the [`stringArray`](#stringarray). All arguments of these calls may be extracted to different object depending on [`stringArrayCallsTransformThreshold`](#stringarraycallstransformthreshold) value.
1109
+ Enables the transformation of calls to the [`stringArray`](#stringarray). All arguments of these calls may be extracted to a different object depending on [`stringArrayCallsTransformThreshold`](#stringarraycallstransformthreshold) value.
1110
+ So it makes it even harder to automatically find calls to the string array.
1111
+
1112
+ Example:
1113
+ ```
1114
+ function foo() {
1115
+ var k = {
1116
+ c: 0x2f2,
1117
+ d: '0x396',
1118
+ e: '0x397',
1119
+ f: '0x39a',
1120
+ g: '0x39d',
1121
+ h: 0x398,
1122
+ l: 0x394,
1123
+ m: '0x39b',
1124
+ n: '0x39f',
1125
+ o: 0x395,
1126
+ p: 0x395,
1127
+ q: 0x399,
1128
+ r: '0x399'
1129
+ };
1130
+ var c = i(k.d, k.e);
1131
+ var d = i(k.f, k.g);
1132
+ var e = i(k.h, k.l);
1133
+ var f = i(k.m, k.n);
1134
+ function i(c, d) {
1135
+ return b(c - k.c, d);
1136
+ }
1137
+ var g = i(k.o, k.p);
1138
+ var h = i(k.q, k.r);
1139
+ }
1140
+ function j(c, d) {
1141
+ var l = { c: 0x14b };
1142
+ return b(c - -l.c, d);
1143
+ }
1144
+ console[j(-'0xa6', -'0xa6')](foo());
1145
+ function b(c, d) {
1146
+ var e = a();
1147
+ b = function (f, g) {
1148
+ f = f - 0xa3;
1149
+ var h = e[f];
1150
+ return h;
1151
+ };
1152
+ return b(c, d);
1153
+ }
1154
+ function a() {
1155
+ var m = [
1156
+ 'string5',
1157
+ 'string1',
1158
+ 'log',
1159
+ 'string3',
1160
+ 'string6',
1161
+ 'string2',
1162
+ 'string4'
1163
+ ];
1164
+ a = function () {
1165
+ return m;
1166
+ };
1167
+ return a();
1168
+ }
1169
+ ```
1110
1170
 
1111
1171
  ### `stringArrayCallsTransformThreshold`
1112
1172
  Type: `number` Default: `0.5`
@@ -1671,7 +1731,7 @@ Become a sponsor and get your logo on our README on Github with a link to your s
1671
1731
  ## License
1672
1732
  [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjavascript-obfuscator%2Fjavascript-obfuscator.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjavascript-obfuscator%2Fjavascript-obfuscator?ref=badge_large)
1673
1733
 
1674
- Copyright (C) 2016-2021 [Timofey Kachalov](http://github.com/sanex3339).
1734
+ Copyright (C) 2016-2022 [Timofey Kachalov](http://github.com/sanex3339).
1675
1735
 
1676
1736
  Redistribution and use in source and binary forms, with or without
1677
1737
  modification, are permitted provided that the following conditions are met: