Conversation
|
In order to keep the changes only to the string encryption, I've copied the old encryption function and method generator to I have tested this with my Minecraft plugin, and it worked fine. More extensive testing is recommended. |
|
@SpartanB312 I need some help with replacing invoke dynamic bsm arguments (strings) with a local variable representation (or something else). This way, we can obfuscate invoke dynamic bsms as well as ldcs. |
|
Bsm args are actually const pool index, which can't be replaced by localvar or field. |
|
You can refer to GOTO obfuscator's string encrypt transformer. It has a method for handling invoice dynamics |
|
or replace makeConcatWithConstants with StringBuilder (This is what the compiler did before Java8) |
I've implemented parts of their system into Grunt's code and it seems to be working. I'm still going to do some more testing. |
|
@SpartanB312 Let me know if this is production ready. I've tested it several times and it works fine. I'm going to recode the number obfuscation later and make it use a pool too. |
|
@SpartanB312 Can you make sure this also works in your environment? I'd like to merge this PR. |
|
Let me test more samples later |
Hi, any updates? |
Yeah, but I am recently working on my final exam. Your updates will be merged into 2.5.0 major update |
|
I'd like to test it. If there's no problem it will be merged today. |
TODO:
<clinit>)