Skip to content

Releases: j4k0xb/webcrack

v2.1.3

01 May 20:13
Compare
Choose a tag to compare

Bug Fixes

  • Extract variable sequence in loop (#7): for(let a = (b, c);;) {} -> b; for(let a = c;;) {}

v2.1.2

28 Apr 01:37
Compare
Choose a tag to compare

Bug Fixes

  • Operators in comparisons now get properly flipped: 0 < x -> x > 0

v2.1.1

26 Apr 04:08
Compare
Choose a tag to compare

Performance

  • Much faster unminifying: 10s instead of 55s on a large script
  • max-iterations option got removed, only a single pass is required to achieve the same or better result

v2.1.0

22 Apr 16:59
Compare
Choose a tag to compare

Features

Bug Fixes

  • computed property regression where a single char and _ wasn't detected: obj["x"] -> obj.x
  • retain emojis in strings: "\u270F\uFE0F" -> "✏️"

v2.0.1

18 Apr 15:38
Compare
Choose a tag to compare

Bug Fixes

  • Memory leak (#4)

v2.0.0

12 Apr 15:21
Compare
Choose a tag to compare

Features

Bug Fixes

  • Don't remove unrelated parent node of Self Defending code
  • Stricter member expression checks (only matches e.g. require.d instead of require[d])

Breaking Changes

  • It can now only be imported as ESM

v1.11.0

07 Apr 23:38
Compare
Choose a tag to compare

Features

  • Remove debug protection (freezes the browser if you open devtools)
  • Control Flow Flattening can now be deobfuscated when Transform Object Keys is enabled
  • Rearrange sequences in variables: var t = (o = null, o); -> o = null; var t = o;

Bug Fixes

  • Remove correct nodes in self defending code (based on references instead of the first 2 statements)

Security

  • The vm2 package has been updated because of a sandbox escape (should maybe switch to a more secure one like QuickJS). But since we used the allowAsync: false option, it shouldn't be possible to exploit

v1.10.0

28 Mar 17:08
v1.10.0
Compare
Choose a tag to compare

Features

  • Deobfuscate control flow flattening
  • Remove self defending code, domain lock, console disabler
  • Remove always false if edge-case

Bug Fixes

  • Find correct array rotator if there are multiple

v1.9.1

04 Mar 21:39
Compare
Choose a tag to compare

Performance

  • 30% faster string array decoding

Bug Fixes

  • also match negative numbers passed to decoder
  • rename variable assignments in ESM

v1.9.0

21 Feb 04:13
v1.9.0
Compare
Choose a tag to compare

Performance

Deobfuscation and readability transforms are now significantly faster

New Features

Modules can get converted to ESM:

require.r(exports);
require.d(exports, 'Counter', function () {
  return f;
});
class f {}

->

export class Counter {}

This, together with changes to some other webpack functions, will allow unpacked modules to be repacked and run instead of the original bundle:

npx webpack-cli ./webcrack-out