[..] Possible de modifier des .dat ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Chokolaa
Niveau 4
Niveau 4
Messages : 55
Enregistré le : ven. 04 nov. 2011 13:12
Status : Hors ligne

[..] Possible de modifier des .dat ?

#1

Message par Chokolaa »

Bonjour,

J'ai besoin de modifier un fichier .dat avec mon programme pour rajouter un serveur a une liste.
Je voudrais savoir si c'est possible avec autoit?

Chokolaa
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#2

Message par Tlem »

Si votre fichier est au format texte oui, sinon, il faut voir comment il ce présente.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Chokolaa
Niveau 4
Niveau 4
Messages : 55
Enregistré le : ven. 04 nov. 2011 13:12
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#3

Message par Chokolaa »

non en fait les .dat sont des fichiers de donnée et non de texte :/ en les mettant en .txt on obtient les mêmes valeur mais Notepad++ me met des symboles bizzard entre les données.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#4

Message par Tlem »

Un fichier .dat est généralement un fichier de base de donnée de type divers ou varié. Si vous n'en connaissez pas la structure, il vous est pratiquement impossible d'y apporter une modification. Maintenant, vous pouvez probablement remplacer des données texte par d'autres données texte, mais cela ne pourra passer que par une écriture en mode 'binaire' et non en mode texte.

Si vous voulez plus d'information, il va falloir donner beaucoup plus d'éléments, car aider à l'aveugle n'engendrera qu'une suite de message qui n'auront pas forcément une réponse. :mrgreen:
L'idéal étant d'avoir ce fichier sous la main ainsi que les éléments pour le remplacement. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Chokolaa
Niveau 4
Niveau 4
Messages : 55
Enregistré le : ven. 04 nov. 2011 13:12
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#5

Message par Chokolaa »

Le fichier dat est crée par Minecraft pour y stocker le nom du serveur et l'ip. (sachant qu'il peut y avoir plusieurs serveur enregistrés)
Fichiers joints
fichier dat.rar
(174 Octets) Téléchargé 71 fois
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#6

Message par Tlem »

Vous avez la possibilité de fournir un fichier avec plusieurs serveurs (3 ou 4) ?
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Chokolaa
Niveau 4
Niveau 4
Messages : 55
Enregistré le : ven. 04 nov. 2011 13:12
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#7

Message par Chokolaa »

Voila
Fichiers joints
servers.rar
(220 Octets) Téléchargé 81 fois
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#8

Message par Tlem »

A première vue, ce fichier à bien une structure simple. Si vous utilisez un éditeur hexadécimal, vous pouvez constater que chaque serveur est balisé comme ceci (voir capture jointe) :
08 0002 6970 0009 3132372E302E302E31 0008 0004 6E616D65 0008 7365727665757233

08 = Semble être le séparateur d'éléments (Valeur fixe)..
0002 = Longueur du texte qui suit (Valeur variable).
6970 = Valeur de texte "ip" (Valeur qui semble fixe)
0009 = Longueur du texte qui suit (Valeur variable).
3132372E302E302E31 = Valeur de texte "127.0.0.1" (Valeur variable).
0008 = Séparateur IP/Nom Serveur (Valeur fixe).
0004 = Longueur du texte qui suit (Valeur variable).
6E616D65 = Valeur de texte "name" (Valeur qui semble fixe)
0008 = Longueur du texte qui suit (Valeur variable).
7365727665757233 = Valeur de texte "serveur3" (Valeur variable).
La fin du fichier semble être identifié par 0000.
Voilà il ne vous reste plus qu'à faire un wrapper de lecture/écriture avec cette structure. :mrgreen:

Je vous conseil une lecture binaire et séquentielle du fichier. Une fois les éléments en mémoire, vous n'avez qu'à reconstruire la chaine et écrire le fichier toujours en binaire. ;)
Fichiers joints
Serveur MC.PNG
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Chokolaa
Niveau 4
Niveau 4
Messages : 55
Enregistré le : ven. 04 nov. 2011 13:12
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#9

Message par Chokolaa »

J'arrive a récuperer le binaire mais j'ai pas compris comment rajouter un serveur a la liste ... Tu pourrais m'expliquer un peu plus stp. :)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#10

Message par Tlem »

En partant de cette base :

Code : Tout sélectionner

08 0002 6970 0009 3132372E302E302E31 0008 0004 6E616D65 0008 7365727665757233
Vous devez remplacer la suite de valeur hexadécimale 3132372E302E302E31 ainsi que 7365727665757233 par la nouvelle IP et le nom du nouveau serveur.
Vous devez transformer les chaines de texte en valeur hexadécimale. Si la longueur de chaine n'est pas identique, vous devez impérativement adapter la valeur qui précède la chaine pour en donner la longueur (en hexadécimal).

Par exemple, la représentation hexadécimale de l'adresse IP 173.194.78.94 (notre cher ami le moteur de recherche), nous donne 3137332e3139342e37382e3934. Si je reprend la séquence correspondante à l'adresse IP 127.0.0.1 dans le fichier donné, nous avons : 00093132372E302E302E31.
Soit 0009 qui correspond à la longueur de la chaine 127.0.0.1 et 3132372E302E302E31 qui correspond à la chaine 127.0.0.1.
Donc notre nouvelle chaine pour la nouvelle IP correspondra à :
173.194.78.94 => Soit 13 caractères => ce qui nous donne 0000D en héxadécimal.
Soit : 0000D3137332e3139342e37382e3934 (13 + 173.194.78.94 = longueur + chaine converti en hexa).

Faites la même opération pour le nom du serveur et voilà.

Après, vous n'avez qu'à former la chaine entière (voir description dans mon message précédent) et vous la rajoutez à la fin de votre fichier juste avant le 0000 de fin. :mrgreen:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Chokolaa
Niveau 4
Niveau 4
Messages : 55
Enregistré le : ven. 04 nov. 2011 13:12
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#11

Message par Chokolaa »

En fait c'est compliquer, j'ai bien regarder

0x0A0000090007736572766572730A000000020800046E61 ... 2746664670000
Le 2 est le nombre de serveur dans la liste

Pour rajouter un serveur il faut que je modifie le 2 sachant que c'est pas toujours 2, et je peux pas mettre le code hex du serveur a la fin car 0000 doit rester a la fin ...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#12

Message par Tlem »

Après avoir regardé plus longuement, voici mes déductions pour le premier fichier (celui avec 2 serveurs) :
► Afficher le texte
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Chokolaa
Niveau 4
Niveau 4
Messages : 55
Enregistré le : ven. 04 nov. 2011 13:12
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#13

Message par Chokolaa »

Comment je peux faire pour par exemple enlever les 2 zero de la fin rajouter le code hex de mon serveur et remettre les 2 zero?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Possible de modifier des .dat ?

#14

Message par Tlem »

Avec tous les éléments que je vous ai donné, vous devriez avoir de quoi commencer un semblant de code.

Mais j'ai mon petit doigt qui me dit que vous voulez un code tout prêt !!!
Dans ce cas, je vous répond que vous vous êtes trompé de section.
Pour demander un code tout fait, c'est par ici => Demande de création de Scripts
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre