Bonjour,
J'ai commencé un petit programme en JAVA afin d'analyser les données de D0fus.
Actuellement j'en suis au stade ou je sniffe les packets de l'IP de D0fus.. :
Console:
packetID: 300 inconnu
packetID: 1472 inconnu
packetID: 1472 inconnu
packetID: 1472 inconnu
packetID: 951 inconnu
packetID: 1472 inconnu
packetID: 950 inconnu
packetID: 6362 inconnu
packetID: 952 inconnu
packetID: 6362 inconnu
221: ChangeMapMessage
packetID: 6362 inconnu
packetID: 225 inconnu
packetID: 6362 inconnu
packetID: 226 inconnu
Bon c'est magnifique, sauf que je ne vais pas aller loin avec sa, j'ai donc bien compris le tutoriels concernant le découpage du packet afin de récupérer l'identifiant du packet à convertir, etc...
Il s'avère que les données de mon packet se trouve dans le payload :
Portion de code dans mon sniffer :
Payload payload = new Payload();
if (packet.hasHeader(payload)) {
byte[] payloadContent = payload.getByteArray(0, payload.size()); // payloadContent contient donc les données du packet
byte b1;
byte b2;
try {
b1 = payloadContent[0];
b2 = payloadContent[1];
String b1Str = String.format("%02X", b1);
String b2Str = String.format("%02X", b2);
Conversion conv = new Conversion(b1Str + b2Str);
PacketManage packetManage = new PacketManage(conv.hexToDec());
packetManage.manage();
} catch (Exception e) {
}
}
PacketManage.java :
public void manage(){
switch(_packetID){
case 221:
System.out.println("221: ChangeMapMessage");
break;
default:
System.out.println("packetID: " + _packetID + " inconnu");
break;
}
}
La question : Comment récupérer la map en cours ?
Faut-il que je convertisse obligatoirement changeMapMessage.as (D0fusInvoker.swf) pour traiter les données de mon packets ?
Je précise que je ne veux faire que du sniff de packet, je n'ai pas besoin de renvoyer des packets.
Il existe une solution pour extraire les données plus simplement qu'en convertissant cette classe ?
Merci de votre aide, si vous manquez d'informations pour m'aider, n'hésitez pas !