Skip to content

Releases: SpartanB312/Grunt

Grunt 2.3.0

24 Sep 19:31
274965d
Compare
Choose a tag to compare

2024 Autumn major update 2
1.Added LibMissingCheck* option
2.Added NumberEncrypt arrayed mode
3.Enhanced BogusConditionJump(Controlflow)
4.Enhanced MangledCompareJump(Controlflow)
5.Added ReversedIfJump(Controlflow)
6.Added TableSwitchJump(Controlflow)
7.Added UnconditionalLoop(Controlflow)
8.Added TrappedSwitchCase(Controlflow)
9.Enhanced JunkCodeGenerator(Controlflow), supporting junk call with pop
10.Improved FieldRename performance
11.Added support for long number split and encrypt
12.Merged FloatingPointEncrypt to NumberEncrypt
13.Disabled scramble for NumberEncrypt
14.Changed all store types to int in NumberEncrypt arrayed mode
15.Fixed ConstEncrypt clinit access flag
16.Fixed ConstEncrypt logger print

*LibMissingCheck: If enabled, the obfuscator will use compute maxs automatically when missing libs

Grunt 2.2.1

20 Sep 22:17
Compare
Choose a tag to compare

2024 Autumn content update 0920
1.Added HWID authenticator injector
2.Fixed heavy encrypt in ConstEncrypt
3.Added reverse suffix for renames
4.Added DisableControlflow, DisableScramble, DisableInvokeDynamic annotations
5.Fixed Crasher's counter
6.Added HWID getter

Notice:
1.If you want to get HWID encrypted by your specified key. You need to change KEY in net.spartanb312.grunt.hwid.HWID, and build it yourself. The HWID getter provided below uses the default key.
2.If you miss the most of dependencies and only want to use HWID authenticator. You can enable computeMaxs to avoid frame VerifyError.
3.The HWID authenticator provided here can only provide lightweight protection. No anti cracking guarantee for you.

Grunt 2.2.0

17 Sep 07:58
Compare
Choose a tag to compare

2024 Autumn major update
1.Fixed Field/MethodScramble bugs
2.Added reference check for Controlflow
3.Improved compatibility when missing dependencies
4.Rewrote ClassDumper for dependencies check
5.Imprroved Hierarchy perrformance
6.Fixed mappings dumping
7.Fixed localvar offset in Controlflow
8.Added annotation exclusion for Scramble
9.Added ConstPoolEncrypt
10.Added Crasher
11.Improved Controlflow by adding random reverse condition
12.Supported Long number in NumberObf

Grunt 2.1.0

21 Jul 07:49
Compare
Choose a tag to compare

1.New UI made by @pywong921x
2.Improved stability for invokedynamic reobf (When obfuscating mixin classes)
3.Improved compatibility for missing dependencies
4.Orders for controlflow
5.Removed Herobrine

Grunt 2.0.2

16 Jul 19:12
Compare
Choose a tag to compare

1.Improved stability
2.Max insn limitation for NumberEncrypt

Grunt 2.0.1

15 Jul 01:58
Compare
Choose a tag to compare

1.Fixed class dumper for missing dependencies situation
2.Customizable control flow order
3.Method instructions size check for arithmetic encryptor
4.Set default value to true for Interface method rename (Support overlap)

Grunt 2.0.0

14 Jul 17:01
Compare
Choose a tag to compare

First regular release of Grunt Reborn

[Beta] Grunt 2.0.0.240711

11 Jul 01:11
Compare
Choose a tag to compare

1.Changed default value for InvokeDynamic
2.Fixed class dumping for missing dependencies situation
3.Added useComputeMax setting
4.Changed entry point for rerunability (For imcoming UI)
5.Added signature for Field/MethodRedirect
6.Added more options for junk code in ImplicitJump
7.Stripped unused libraries (2.56MB now)

[Beta] Grunt 2.0.0.240709

08 Jul 16:51
Compare
Choose a tag to compare

1.Fixed fabric entry point replace
2.Fixed Method/FieldRedirect outerclass generate
3.Improved stability for missing dependencies situation
4.Improved annotation watermark
5.Changed InvokeDynamic/MethodRename/Watermark default value
6.Added useComputeMax to global setting

[Beta] Grunt 2.0.0.240708

07 Jul 20:56
Compare
Choose a tag to compare

1.Added ImplicitJump for ControlFlow
2.Added ArithmeticEncrypt
3.Added InvokeDynamic
4.Improved MethodRename compability
5.Improved Method/FieldRedirect compability
6.Improved Watermark
7.Added independent exclusion for each transformer
8.Rewrote hierarchy
and more...