Skip to content

Releases: MichaelXF/js-confuser

Minification Changes

05 Jun 19:48
e299bb8
Compare
Choose a tag to compare
  • Fixed minification errors

    • No longer accidentally removes function declarations/class declarations
  • RGF Changes

    • Function cannot rely on this
    • Better support with renameVariables
  • 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

04 Jun 22:06
bbcf990
Compare
Choose a tag to compare
  • New feature: stringCompression

    • String Compression uses LZW's compression algorithm to reduce file size. (true/false/0-1)
    • "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

01 Jun 18:39
7ffd804
Compare
Choose a tag to compare
  • No longer encodes "use strict" and other directives

  • No longer encodes require("str") or import("str") strings

  • Fixed several controlFlowFlattening bugs:
    Fixed rare code corruption when nested
    Fixed obfuscation on for and while 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 and Transform objects exposed.

Available now on NPM: https://www.npmjs.com/package/js-confuser

New feature: Stack, and various improvements

29 May 20:28
4660981
Compare
Choose a tag to compare
// 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

28 May 18:57
Compare
Choose a tag to compare

Adjusted babel config to be more forgiving to the older versions of NodeJS.

New shuffle feature and improvements

28 May 17:30
Compare
Choose a tag to compare
  • 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 with nativeFunctions
    Now errors when countermeasures callback can't be found.
    Countermeasures callback works with Integrity.
    New rules for countermeasures callback:
    Must be top-level,
    No references to locked code (otherwise infinite loop)

  • General improvements
    Updated presets and documentation
    Added index.d.ts for type-intellisense

Available now on NPM: https://www.npmjs.com/package/js-confuser

Integrity Fixed

26 May 18:11
Compare
Choose a tag to compare
  • Integrity Improvements

    • Countermeasures function works with Integrity
    • Fixed hashing issues
    • Wrote more tests for integrity
  • Documentation Update

    • Fixed errors in example