88import dev .skidfuscator .obfuscator .skidasm .builder .SkidFieldNodeBuilder ;
99import dev .skidfuscator .obfuscator .transform .AbstractTransformer ;
1010import dev .skidfuscator .obfuscator .util .RandomUtil ;
11+ import org .apache .http .nio .entity .NFileEntity ;
1112import org .mapleir .asm .FieldNode ;
1213import org .mapleir .ir .TypeUtils ;
1314import org .mapleir .ir .cfg .BasicBlock ;
2627import java .util .Arrays ;
2728import java .util .List ;
2829import java .util .Stack ;
30+ import java .util .concurrent .ThreadLocalRandom ;
31+ import java .util .stream .Collectors ;
2932
3033public class AhegaoTransformer extends AbstractTransformer {
3134
32- private static final String AHEGAO_FIELD_NAME = "nothing_to_see_here" ;
35+ private static final String DEFAULT_AHEGAO_FIELD_NAME = "nothing_to_see_here" ;
3336
3437 public AhegaoTransformer (Skidfuscator skidfuscator ) {
3538 super (skidfuscator , "Ahegao" );
@@ -46,15 +49,17 @@ void handle(final FinalClassTransformEvent event) {
4649 return ;
4750 }
4851
49- if (classNode .getFields ().stream ()
50- .anyMatch (field -> field .getName ().equals (AHEGAO_FIELD_NAME ))) {
51- this .skip ();
52- return ;
53- }
52+ List <String > fieldNames = classNode .getFields ().stream ()
53+ .map (FieldNode ::getName )
54+ .collect (Collectors .toList ());
55+
56+ String ahegaoName = DEFAULT_AHEGAO_FIELD_NAME ;
57+ while (fieldNames .contains (ahegaoName ))
58+ ahegaoName += (char ) ThreadLocalRandom .current ().nextInt (Character .MAX_CODE_POINT );
5459
5560 final FieldNode mapleNode = new SkidFieldNodeBuilder (skidfuscator , classNode )
5661 .access (Opcodes .ACC_PRIVATE | Opcodes .ACC_STATIC )
57- .name (AHEGAO_FIELD_NAME )
62+ .name (ahegaoName )
5863 .desc ("[Ljava/lang/String;" )
5964 .signature (null )
6065 .value (null )
0 commit comments