Releases: SpartanB312/Grunt
Grunt 2.4.2
2024 Autumn content update 1116
1.Fixed "heavy" option bug in InvokeDynamic (When heavy mode is disabled, the entire transformer will be erroneously disabled)
2.Added annotation groups to NativeCandidate for some native obfuscator like PhantomShield
3.Added SwitchProtector(Controlflow)
4.Added GotoReplaceRate option for BogusJump(Controlflow)
Happy third anniversary, Halo Infinite : )
Grunt 2.4.1
2024 Autumn content update 1029
1.DarkTheme for UI
2.Added ReflectionSupport (beta)
3.Added native annotation option for InvokeDynamic bsm
4.Added native annotation option for ConstEncrypt decryptor
5.Added support for IF_ACMPEQ, IF_ACMPNE in Controlflow
6.Optimized settings for FieldScramble
Grunt 2.4.0
2024 Autumn major update 3
1.New plugin system. Support java and kotlin
2.Multithreading for parallel processing
3.Migrated to Genesis DSL
4.Added event system for interactive transformers
5.New exclusion system for renamers
6.Added Authenticator plugin
7.Added VersionPatcher plugin
8.Fixed bugs in NumberEncrypt
9.Added ArithmeticExprBuilder(Controlflow)
10.Added junk parameter option for ArithmeticExprBuilder(Controlflow)
11.Enhanced MangledCompareJump(Controlflow)
12.Enhanced BogusConditionJump(Controlflow)
13.Separated IF and IF_ICMP replace rate option(Controlflow)
14.Optimized TableSwitch(Controlflow) options
15.Fixed JunkCode(Controlflow) serach range
16.Added serach option for NativeCandidate
17.Optimized NativeCandidate option in Field/MethodScramble, Controlflow
18.Enhanced InvokeDynamic by using metadata to search method
19.Enhanced InvokeDynamic reobf intensity
20.Fixed 2 "enabled" options in PostProcess
Grunt 2.3.0
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
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
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
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
1.Improved stability
2.Max insn limitation for NumberEncrypt
Grunt 2.0.1
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
First regular release of Grunt Reborn