- Inscrit
- 15 Avril 2011
- Messages
- 457
- Reactions
- 1
Salut les gens, ça faisait un bail que j'avais pas posté sur le forum (16 mois en fait), j'avais arrêté mon bot en C mais un pote m'a relancé il y a peu pour en faire un en Java. On a principalement copié ce que j'avais déjà fait en C mais impossible d'arriver à construire le paquet 4. Mon problème est similaire à celui d'immortal. Voici le code de la fonction foireuse :
J'ai une "javax.crypto.BadPaddingException : Decryption error". J'ai pas mal fouillé le web et je suis quasiment sûr que ce code est juste. J'ai testé avec mon ancien bot en C et lui aussi ne fonctionne plus. Par conséquent, je me suis dit que le protocole avait été modifié, j'ai donc fouillé les sources du client mais je n'ai rien trouvé qui pourrait faire en sorte que je lis mal la clé envoyée par le serveur (à part les fonctions de la classe "CustomDataWrapper" que j'ai rajouté). Ai-je raté quelque chose ?!
Ainsi, après plusieurs heures de recherches, je me suis résolu à poster ici, en espérant y trouver la solution.
Merci par avance, Nico.
Java:
private static final String publicKey =
"MIIBUzANBgkqhkiG9w0BAQEFAAOCAUAAMIIBOwKCATIAq8EYkkGCUg86Bf2CHaM1z1Q2ahQgVXkx" +
"49I0igwTVCIqG86jsgNb22na1DThZ+IP7DfyBszIecVSP8nwbYPbx6Z7dwq4pnMVx/lx5lyMZUO1" +
"n/HGEkw1S06AlfXzSg58ci5DL9RJ9ZIa1oMDKtrZiNYA5C3L+7NSCVp/2H/yypWkDjzkFan65+TN" +
"RExo/2O3+MytJtQ/BXVkbYD58+iiZegddNTNGvz8WlPz2cZvPQt4x1TN+KOgJRKZH5imNAxCtRg6" +
"l1OLVxfwwUjKFgM4uAsto8vJv5DUFZQMO1Sh9gMpmzeMwXIF4fDD4O1TNiVmu3ABybt2Y4EdaQhs" +
"/ponC0SNcWbrY0stYbX+Wpk9/Hcxmo3zoduf1ZAdGM01E1g3IjQMd0gOP4v1KQtBjoHim2MCAwEA" +
"AQ==";
private static byte[] decryptReceivedKey(byte[] receivedKey) {
byte[] resultKey = null;
try {
byte[] decodedKey = Base64.getDecoder().decode(publicKey);
X509EncodedKeySpec spec = new X509EncodedKeySpec(decodedKey);
KeyFactory kf = KeyFactory.getInstance("RSA");
PublicKey pk = kf.generatePublic(spec);
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.DECRYPT_MODE, pk);
resultKey = cipher.doFinal(receivedKey);
} catch (Exception e) {
e.printStackTrace();
}
return resultKey;
}
J'ai une "javax.crypto.BadPaddingException : Decryption error". J'ai pas mal fouillé le web et je suis quasiment sûr que ce code est juste. J'ai testé avec mon ancien bot en C et lui aussi ne fonctionne plus. Par conséquent, je me suis dit que le protocole avait été modifié, j'ai donc fouillé les sources du client mais je n'ai rien trouvé qui pourrait faire en sorte que je lis mal la clé envoyée par le serveur (à part les fonctions de la classe "CustomDataWrapper" que j'ai rajouté). Ai-je raté quelque chose ?!
Ainsi, après plusieurs heures de recherches, je me suis résolu à poster ici, en espérant y trouver la solution.
Merci par avance, Nico.
Dernière édition par un modérateur: