cs_flatou
Messages postés92Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention22 février 2006
-
25 févr. 2004 à 21:30
taleb_abdelouaheb
Messages postés1Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention22 mai 2005
-
22 mai 2005 à 14:34
salut
j'ai fais un petit programme pour ma famille, mais le truc c'est que je dois faire des changements ds le code pour chaque personne, donc pour chaque personne il faut faire une nouvelle compilation, donc c'est assez embetant.
Y a t'il un moyen par exemple de modifier une variable d'un programme compilé ?je pense par exemple a une edition hexadecimal. est-ce que cela entrainera des erreurs... ?
merci pour votre aide
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 25 févr. 2004 à 23:26
ca depend c quoi les variables, si c'est des chaines de caracter, ca devrait pas poser de probleme, du desassemble l'executable, tu repere les chaine et tu recupere l'offset, apres ta plus qu'a modifier avec un editeur hexa
par contre si c'est du binaire (int,float ou autre type de base) ca risque d'etre chiant, au pir je te conseil de les stokcer en char* dans ton prog et de les convertir en int,float,... lors de l'execution
sinon je voi pas commen reperer un int particulier dans un exe, peut etre en foutant des flags autour, genre si tu le fout en plein milieu d'un tableau d'int mais c'est sans doute des conneri ce que je dit
cs_flatou
Messages postés92Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention22 février 2006 25 févr. 2004 à 23:39
oui c'est des chaines de caracteres
par exemple si j'ai un char var[255], lorsque je vais modif en hexa et que le place 100 caracteres au lieu de 254, est-ce que ca va changé qqchose au niveau du programme ?
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 25 févr. 2004 à 23:51
par exemple si ta declarer
il faut que ton char soit initialiser a la declaration
char var[255]="bonjour", tu pourra le modifier, mais tu pourra pas mettre plus de caracter que dans "bonjour" car c'est pas un char[255] qui est stocker au sein du code mais un static "bonjour", donc tu pourra le remplacer par "moi" en faisant "moi\0our" mais tu pourra pas ecrire "bonne journee", ca pourrai faire planter ton prog car l'ecriture en zone static provoque un comportement indefini
cs_flatou
Messages postés92Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention22 février 2006 26 févr. 2004 à 00:05
oki d'accord
Existe t'il des fonctions pour ouvrir/ecrire un fichier en hexadecimal ?je vais chercher sur le site j'ai cru voir des sources sur le sujet
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 26 févr. 2004 à 06:05
tu peut faire ca comme tu veut, meme avec le notepad (seulement ca risque d'etre dur d'ecrire le caracter nul !), si ca t'embete d'avoir a faire ca pour chaque prog, tu peut en effet faire ca avec un petit prog en c++, tu ouvre l'exe comme un fichier (pas forcement en binaire vu que tu cherche et remplace juste des chaine)
taleb_abdelouaheb
Messages postés1Date d'inscriptionmardi 17 mai 2005StatutMembreDernière intervention22 mai 2005 22 mai 2005 à 14:34
j'ai un executable en windev4.1 (sans le code source) un message de verrouillage apparait qui bloque la saisie des données (une fenêttre qui indique la date d'expiration du logiciel sa fermeture provoque la fermeture de celle de la saisie des données),est ce qu'il existe une methode pour eliminer l'appel a cette fennêttre ,merci d'avoir m'orienter.