Remplacer ds un fichier

cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006 - 29 févr. 2004 à 18:14
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006 - 29 févr. 2004 à 22:47
salut
ds un executable compilé, j'ai une variable de type char initialisé avec le texte AMODIFIER. Ce que je veux faire, c'est ouvrir le fichier (bon ca c'est pas dur), retrouver la position du AMODIFIER et le remplacer par un autre texte (de meme longueur).
Ds quel mode vaut-il mieux ouvrir le fichier et existe t'il une fonction qui permet de rechercher du texte ds un fichier ?
j'ai consulté a peu pres tt le forum a ce sujet, ainsi que les fonctions pour l'utilisation des fichiers et je n'ai pas trouver de reponse satisfaisante.
merci pour votre aide

2 réponses

petitchech Messages postés 114 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 28 juin 2004
29 févr. 2004 à 19:34
Salut

si ton fichier .exe ne change plus il te sufi avec un editeur hexadecimale de regardé la posision de la variable et de la metre ds se bout de cote dans
int pos = (0x00*16)+2;

#include "fstream.h"
#include "conio.h"
#include <stdio.h>

int main()
{

ofstream ofs("fichier.exe", ios::in|ios::binary);

if(ofs.fail())
{
printf("Erreur a l'ouverture du fichier fichier.exe\n\n");
getch();
return 0;
}

printf("Fichier fichier.exe ouvert...\n");
int pos = (0x00*16)+2;
ofs.seekp(pos);

char patch[] = "nouvelle valeur";
ofs.write( (char*) patch, sizeof(patch));

printf("\nOctets patches !\n");
ofs.close();

printf("Appuyez sur une touche pour continuer ...\n");
getch();

return 0;
}
0
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006
29 févr. 2004 à 22:47
merci ca fonctionne parfaitement :)
0
Rejoignez-nous