Advertisement
EnderPoint

Untitled

Sep 12th, 2022
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.20 KB | Source Code | 0 0
  1.         byte[] loginSucessDecrypted = decrypt(secret.getEncoded(), loginSuccessEncrypted, new IvParameterSpec(secret.getEncoded()), "AES/CFB/NoPadding", secret.getAlgorithm()) ; // packet size
  2.         int loginPacketSize = readVarInt(loginSucessDecrypted[0]); // packet size
  3.  
  4.         if(loginPacketId != 0x02) { // We want login success
  5.             System.out.println("Bad packet id: " + loginPacketId);
  6.  
  7.             if(loginPacketId == 0x00) { // If it's a disconnect packet
  8.                 disconnected(input);
  9.             }
  10.         }
  11.  
  12.  
  13.  
  14. public static byte[] decrypt(byte[] secretKey, byte[] data, IvParameterSpec iv, String ALGORITHM, String SecretKeyAlgo) throws Exception {
  15.         SecretKey key = new SecretKeySpec(secretKey, SecretKeyAlgo);
  16.         Cipher cipher = Cipher.getInstance(ALGORITHM);
  17.         cipher.init(Cipher.DECRYPT_MODE, key, iv);
  18.  
  19.         // hopefully original secret converted secret and iv stay the same
  20.         System.out.println("Lets hope these 3 are the same: " + Arrays.toString(secretKey) +" "+ Arrays.toString(key.getEncoded())+
  21.                 " "+ Arrays.toString(iv.getIV()));
  22.  
  23.         byte[] decryptedBytes = cipher.doFinal(data);
  24.  
  25.         return decryptedBytes;
  26.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement