Expected Behavior
javascript-obfuscator can obfuscate javascript using regular expression modifiers. ex. console.log(/(?i:abc)/.test('ABC'));
Current Behavior
Error thrown Error: ERROR at line 1: Invalid regular expression: /(?i:abc)/: Invalid group (1:13). See full stack trace below.
Steps to Reproduce
Test repository to reproduce can be found here. Alternatively can follow the instructions below.
- Create a JS file using regex modifiers. ex.
console.log(/(?i:abc)/.test('ABC'));
- Obfuscate using JS obfuscate
const JavaScriptObfuscator = require('javascript-obfuscator');
JavaScriptObfuscator.obfuscate("console.log(/(?i:abc)/.test('ABC'));"); // Fails
JavaScriptObfuscator.obfuscate("console.log(/(abc)/.test('ABC'));"); // Succeeds
JavaScript Obfuscator Edition
- JavaScript Obfuscator Open Source
Your Environment
- Obfuscator version used: 5.4.3
- Node version used: v24.14.0
Stack trace
Error: ERROR at line 1: Invalid regular expression: /(?i:abc)/: Invalid group (1:13)
> ...console.log(/(?i:abc)/.test(...
at p.processParsingError (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:163396)
at p.parse (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:162739)
at n.parseCode (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:249071)
at n.obfuscate (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:248748)
at p.obfuscate (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:198606)
at Object.<anonymous> (/Users/nsmith/dev/javascript-obfuscate-modifiers/obfuscate.js:3:22)
at Module._compile (node:internal/modules/cjs/loader:1812:14)
at Object..js (node:internal/modules/cjs/loader:1943:10)
at Module.load (node:internal/modules/cjs/loader:1533:32)
at Module._load (node:internal/modules/cjs/loader:1335:12)
Node.js v24.14.0
Minimal working example that will help to reproduce issue
const JavaScriptObfuscator = require('javascript-obfuscator');
JavaScriptObfuscator.obfuscate("console.log(/(?i:abc)/.test('ABC'));"); // Fails
JavaScriptObfuscator.obfuscate("console.log(/(abc)/.test('ABC'));"); // Succeeds
Or see linked repo to reproduce.
Expected Behavior
javascript-obfuscator can obfuscate javascript using regular expression modifiers. ex.
console.log(/(?i:abc)/.test('ABC'));Current Behavior
Error thrown
Error: ERROR at line 1: Invalid regular expression: /(?i:abc)/: Invalid group (1:13). See full stack trace below.Steps to Reproduce
Test repository to reproduce can be found here. Alternatively can follow the instructions below.
JavaScript Obfuscator Edition
Your Environment
Stack trace
Error: ERROR at line 1: Invalid regular expression: /(?i:abc)/: Invalid group (1:13) > ...console.log(/(?i:abc)/.test(... at p.processParsingError (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:163396) at p.parse (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:162739) at n.parseCode (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:249071) at n.obfuscate (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:248748) at p.obfuscate (/Users/nsmith/dev/javascript-obfuscate-modifiers/node_modules/javascript-obfuscator/dist/index.js:23:198606) at Object.<anonymous> (/Users/nsmith/dev/javascript-obfuscate-modifiers/obfuscate.js:3:22) at Module._compile (node:internal/modules/cjs/loader:1812:14) at Object..js (node:internal/modules/cjs/loader:1943:10) at Module.load (node:internal/modules/cjs/loader:1533:32) at Module._load (node:internal/modules/cjs/loader:1335:12) Node.js v24.14.0Minimal working example that will help to reproduce issue
Or see linked repo to reproduce.