boş sallama şifrelemesi aşağıdaki şekilde çözülebilirLinux üzerinde metasploit framework'de veya tools olarak session key'leri decrypt eden toollar var. Onlar ile yapıyorlardır, araştırıp bulabilirsin.
public enum Decryptor {
AES_ECB_PKCS5 {
@Override
public String decrypt(String encryptedPassword) {
Function<String, String> decryptAndRemovePrefix = (str) -> {
try {
byte[] key = "2640023187059250".getBytes("utf-8");
SecretKeySpec secretKeySpec = new SecretKeySpec(key, "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
byte[] decryptedBytes = cipher.doFinal(DatatypeConverter.parseBase64Binary(str));
return new String(decryptedBytes);
} catch (Exception e) {
throw new RuntimeException("Decryption failed", e);
}
};
String decryptedString = decryptAndRemovePrefix
.andThen(Decryptor::getRiseVers)
.andThen(result -> result.split("#")[0])
.apply(encryptedPassword);
return decryptedString;
}
};
private static String getRiseVers(String input) {
Function<String, String> decryptAndRemovePrefix = (str) ->
decryptBase64(str)
.replace("3ebi2mclmAM7Ao2", "")
.replace("KweGTngiZOOj9d6", "");
String decodedString = decryptAndRemovePrefix
.andThen(decryptAndRemovePrefix)
.andThen(Decryptor::decryptBase64)
.apply(input);
return decodedString;
}
private static String decryptBase64(String input) {
try {
return new String(Base64.decodeBase64(input), "utf-8");
} catch (Exception ignored) {return null;}
}
public abstract String decrypt(String encryptedPassword);
}