Offset + hexa de l'aide ....

cs_Mike Messages postés 70 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 24 juillet 2004 - 8 sept. 2002 à 15:41
cs_Mike Messages postés 70 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 24 juillet 2004 - 9 sept. 2002 à 13:23
SAlut,

J'ai un editeur hexadecimal, et je ve changer une variable constante de mon prog via un autre logiciel en c++, le probleme c que je c pas comment faire ( au niveau des fonctions ), kel fonction pour acceder a l'accés binaire ? ensuite j'aurais besoin de savoir kel fonction me permet de changer une valeur, en fonction de l'offset ( trouver sur l'hediteur hexa ). c a dire une fonction qui change un caractere en fonction de l'offset comme en vb avec put :

Open "c:/appli.exe" For Binary As #1
Put #1, 131104 + 1, "Z"
Close #1

131104 + 1 : offset
"Z" : caratere de remplacement avec celui situé a l'offset 131104 + 1

Cette fonction marche parfaitement en vb

( je ve exactement traduire ce programme en cpp ), si quelqu'un pe m'aider

2 réponses

cs_pepet Messages postés 34 Date d'inscription lundi 11 mars 2002 Statut Membre Dernière intervention 21 janvier 2003
8 sept. 2002 à 18:04
include

int fichier;
int octets_lus;fichier open(<nom_fichier>,O_BINARY | O_RDWR);// si open -1 erreur

------------
lseek(fichier, <offset>, SEEK_SET);// offset depuis le debut du fichier
----- OU ----
lseek(fichier, <offset>, SEEK_CUR);// offset depuis la position courante du pointeur de fichier
------ OU ---
lseek(fichier, <offset>, SEEK_END);// offset depuis la fin du fichier
----------

octets_lus = read(fichier, ,sizeof());

write(fichier,,sizeof(<tampon>));

close(fichier);

Il s'agit des fondtion de bas niveau du C/C++.
Il existe aussi les fonction de stdio.h et iostream.h
J'espere que ca va t'aider!
@+
0
cs_Mike Messages postés 70 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 24 juillet 2004 1
9 sept. 2002 à 13:23
Salut
Merci pour cette aide qui m'a deja bien aider. Par contre je pige pas un truc, ta variable fichier devrée être un pointeur sur le fichier non ? ( char * fichier = "c:\logiciel_a_aptcher.exe" et non pas un int. j'ai pas compris un autre truc osi, la fonction read ici ne sert a rien, c juste pour info. j'aimerais osi avoir des precision sur le pointeur tampon, type de variable (int, char ... ) , utilité si possible.
Sinon un grand merci pour ton aide.
WWW.MOTEURPROG.COM
0
Rejoignez-nous