[R] Ecrire une chaîne dans l'exécutable actuel

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Artemis
Niveau 3
Niveau 3
Messages : 49
Enregistré le : jeu. 03 juil. 2008 19:31
Status : Hors ligne

[R] Ecrire une chaîne dans l'exécutable actuel

#1

Message par Artemis »

Bonjour à tous et à toutes.

Mon problème est le suivant : j'aimerais pouvoir inscrire une suite de caractère variable (d'une vingtaine de lettres et de chiffres) dans l'exécutable compilé qui est actuellement en cours d'exécution, par exemple pour inscrire un nom d'utilisateur. Je me doute qu'il faudra passer par l'hexadécimal, mais comment ?

Merci d'avance pour vos réponses constructives.

Artemis ;)
Modifié en dernier par Artemis le ven. 28 août 2009 22:44, modifié 1 fois.
tplanet
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 16 juin 2008 20:27
Status : Hors ligne

Re: [..] Ecrire une chaîne dans l'exécutable actuel

#2

Message par tplanet »

Salut,

Lis la doc au sujet de la commande GUICtrlCreateInput, tu devrait y trouver l'info nécessaire et des exemples.

Thierry
-*-*-*-*-*-*-*-*-*-*-*-
Thierry
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Ecrire une chaîne dans l'exécutable actuel

#3

Message par Tlem »

Ce n'est vraisemblablement pas ce que Artemis à dans l'idée.

Mais plutôt le fait de rajouter en dur le nom d'un utilisateur dans le script compilé.
Ce qui à mon avis est plutôt pas très simple à faire pour la simple raison que le script compilé (l'exe) est composé de l'interpréteur AutoIt (du moins sa partie binaire) puis du code compilé (non en clair). Vous ne pouvez donc pas rechercher une chaine pour la remplacer par une autre. Une autre solution consisterait à modifier les propriétés de l'exe ou d'ajouter une ressource, mais cela impliquerais l'utilisation d'un logiciel tiers tel que ResHacker.
Je crois avoir vu sur le forum Anglais un script qui permet la modification des ressources d'un fichier sans ResHacker. Cela serait sans doute une direction à creuser.

Edit : J'ai retrouvé le lien : http://www.autoitscript.com/forum/index ... opic=85618
Mais vraisemblablement ceci ne fera pas l'affaire.

Vous pourriez plus simplement rajouter un fichier 'crypté' avec un numéro de série en relation avec l'exécutable compilé qui serait plus facilement modifiable. :roll:
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é".
Artemis
Niveau 3
Niveau 3
Messages : 49
Enregistré le : jeu. 03 juil. 2008 19:31
Status : Hors ligne

Re: [..] Ecrire une chaîne dans l'exécutable actuel

#4

Message par Artemis »

Merci de ta réponse, Tlem.

Ce que je voudrais c'est avoir un seul fichier. Ce n'est pas grave si je peux modifier uniquement un autre exe que celui en cours d'utilisation. Il n'y a pas moyen d'utiliser l'hexadécimal en AutoIt ?

Artemis

P.S : Merci également pour ta réponse, tplanet mais bien qu'elle ne soit pas correspondante, le post incitait à la confusion.
Avatar du membre
L4crymal
Niveau 8
Niveau 8
Messages : 513
Enregistré le : mer. 24 sept. 2008 14:53
Status : Hors ligne

Re: [..] Ecrire une chaîne dans l'exécutable actuel

#5

Message par L4crymal »

Sinon ResHacker peut être utiliser en ligne de commande ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Ecrire une chaîne dans l'exécutable actuel

#6

Message par Tlem »

Une solution à tester, c'est de rajouter les quelques octets à la fin du script compilé ou de tout autre EXE.

Voici une ébauche pour modifier le script lui-même :
► Afficher le texte
Ensuite il vous faudra lire les derniers octets pour avoir votre chaine.
Évidement puisque le script est en cours de fonctionnement, on ne peut le modifier comme ça. D'où l'astuce de le copier dans le dossier temporaire, puis de le modifier, puis de fermer le script après avoir lancer un Batch qui remettra le script modifié à la place de l'original.

C'est tordu, mais je vois pas comment faire autrement.
La solution du fichier complémentaire reste selon moi une bien meilleure solution (Il existe des tas de softs accompagné de DLL, de fichier .bin ou apparentés).
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é".
Artemis
Niveau 3
Niveau 3
Messages : 49
Enregistré le : jeu. 03 juil. 2008 19:31
Status : Hors ligne

Re: [..] Ecrire une chaîne dans l'exécutable actuel

#7

Message par Artemis »

Merci pour cette solution qui marche également sur les éxécutables, je pense l'adopter.

Mais maintenant, comment lire la chaîne rajoutée ? (en supposant que je connaisse sa longueur)

Artemis ;)

L4crymal : Oui, les options sont disponibles dans l'aide mais ça fait un fichier de plus (ce que je shouaiterais éviter). Le mettre en FileInstall n'est pas une solution car cela alourdit beaucoup le fichier compilé.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Ecrire une chaîne dans l'exécutable actuel

#8

Message par Tlem »

Hé bien, pour lire cette chaine, il faudra lire en mode binaire l'exécutable, ensuite ne prendre que la dernière partie (longueur de chaine + un CRLF), ensuite on filtre le tout, et on convertit en chaine.

J'avais bricolé rapidement un truc pour vérifier si ça fonctionnait. Il y à sans doute mieux à faire.
► 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é".
Artemis
Niveau 3
Niveau 3
Messages : 49
Enregistré le : jeu. 03 juil. 2008 19:31
Status : Hors ligne

Re: [..] Ecrire une chaîne dans l'exécutable actuel

#9

Message par Artemis »

Merci pour vos réponses. Sujet résolu.

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

Re: [R] Ecrire une chaîne dans l'exécutable actuel

#10

Message par Tlem »

Huummmm, vous vivez surement dans une région proche du pôle nord ou sud, car là ça fait quand même quatre mois !!!
C'était sans doute les quatres mois ou le soleil ne montre pas le bout de son nez et où vous avez fait un très gros dodo... :lol:
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é".
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [R] Ecrire une chaîne dans l'exécutable actuel

#11

Message par PandiPanda »

[HS ON]
à vrai dire ca fait un peu bcp plus que 4 mois ^^.
Mer 26 Aoû 2009
[HS OFF]
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Ecrire une chaîne dans l'exécutable actuel

#12

Message par Tlem »

Houuu laaaa oui !
J'avais pas fait attention. :lol:
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é".
Artemis
Niveau 3
Niveau 3
Messages : 49
Enregistré le : jeu. 03 juil. 2008 19:31
Status : Hors ligne

Re: [R] Ecrire une chaîne dans l'exécutable actuel

#13

Message par Artemis »

J'ai juste édité mon message car mon smiley a été remplacé par une toute autre image sur le serveur où il était hébergé :/

Navré d'avoir déterré le topic.
Répondre