Releases: MichaelXF/js-confuser
Minification Changes
-
Fixed minification errors
-
- No longer accidentally removes function declarations/class declarations
-
RGF Changes
-
- Function cannot rely on
this
- Function cannot rely on
-
- Better support with
renameVariables
- Better support with
-
Opaque Predicate Changes
-
- Now correctly applies to switch case tests
-
Fixed Flatten bug causing undefined return values
-
Support for transpiling ES6 template strings
New String Compression feature and Fixed Syntax errors
-
New feature:
stringCompression
-
- String Compression uses LZW's compression algorithm to reduce file size. (
true/false/0-1
)
- String Compression uses LZW's compression algorithm to reduce file size. (
-
"console"
->inflate('replaĕ!ğğuģģ<~@')
-
- Potency High
-
- Resilience Medium
-
- Cost Medium
-
Fixed error with String encoding
-
Fixed syntax error from obfuscating destructuring with computed keys
-
Fixed syntax error when getters/setters were being converted to arrow functions
-
Integrity fixes:
-
- Better support with Dispatcher
-
- Better support with Calculator
Available now on NPM: https://www.npmjs.com/package/js-confuser
General fixes
-
No longer encodes
"use strict"
and other directives -
No longer encodes
require("str")
orimport("str")
strings -
Fixed several
controlFlowFlattening
bugs:
Fixed rare code corruption when nested
Fixed obfuscation onfor
andwhile
loops -
Fixed
stack
from creating syntax errors
(No longer applies to for-loop initializers) -
Fixed renaming identifiers in object destructing
-
Better support for
let
variables -
Checks for invalid options
-
Increased test coverage to 90%
-
debugTransformations
,Obfuscator
andTransform
objects exposed.
Available now on NPM: https://www.npmjs.com/package/js-confuser
New feature: Stack, and various improvements
- New feature:
stack
Local variables are consolidated into a rotating array. (true/false/0-1
)
Similar to Jscrambler's Variable Masking - Potency Medium
- Resilience Medium
- Cost Low
// input
function add3(x, y, z){
return x + y + z;
}
// output
function add3(...AxaSQr){AxaSQr.length=3;return AxaSQr.shift()+AxaSQr.shift()+AxaSQr.shift()}
- Improvements to
flatten
- Properly renames
let
variables now - Improvements to
dispatcher
Available now on NPM: https://www.npmjs.com/package/js-confuser
Support for lower versions of NodeJS
Adjusted babel config to be more forgiving to the older versions of NodeJS.
New shuffle feature and improvements
-
New feature for shuffle:
hash
- Shift based on the hash of the array contents
If the hash changes, the order of the array will be messed up causing your program to brick. -
Lock improvements
Fixed issue withnativeFunctions
Now errors whencountermeasures
callback can't be found.
Countermeasures callback works withIntegrity
.
New rules forcountermeasures
callback:
Must be top-level,
No references to locked code (otherwise infinite loop) -
General improvements
Updated presets and documentation
Addedindex.d.ts
for type-intellisense
Available now on NPM: https://www.npmjs.com/package/js-confuser
Integrity Fixed
-
Integrity Improvements
-
- Countermeasures function works with Integrity
-
- Fixed hashing issues
-
- Wrote more tests for integrity
-
Documentation Update
-
- Fixed errors in example