Ouverture et écriture dans un executable

Signaler
Messages postés
5
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
23 décembre 2003
-
Messages postés
112
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
26 janvier 2011
-
bonjour
je suis en train de faire une sorte de patcheur qui me permet de changer quelques octets d'un programme le problème c'est que l'ouverture du fichier merde, voila le code:

#include <stdafx.h>
#include <stdio.h>
#include <fstream.h>
#include <conio.h>
#include
int main (
int argc,
char * argv[]
)
{

try
{
cout<< "présentation et explications....\n";

ofstream ofs("c:\\~\\programme.exe",ios::in|ios::binary);
if(!ofs) //voir la note 1
{
cout<<"Erreur lors de l'ouverture du fichier\n";
cout<<"Veuillez vérifier le chemin\n";
cout<<"Appuyez sur une touche pour quitter.\n";
int wait=getch();
return 0;
}
cout<<"Fichier trouve...\n";
//action sur le fichier + bloc catch(...)
}

note 1 : g aussi essayé avec:
if(ofs.fail())

mon problème est que meme si le fichier a patché n'est pas trouvé, le programme en crée un tout seul, sans passer par la structure de test (if (!ofs))....

pourriez vous m'indiquer d'ou vient l'erreur, pourquoi est ce qu'un fichier est crée tout seul, pourquoi la structure de test ne s'enclenche t'elle pas?
merci

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
REMPLACE OCTET DE FICHIER
http://www.cppfrance.com/code.aspx?ID=18924
BruNews, ciao...
Messages postés
5
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
23 décembre 2003

merci de ta réponse,
j'avais un peu cherché avant de poser ma question et j'avais trouvé ta source, très intéressant mais je n'ai pas le temps de beaucoup m'y attardé et je voudrais juste savoir avant de partir si mon code peu marché et si oui, ou est l'erreur.
merci quand meme de ta réponse
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Ben tu devrais t'y attarder un peu plus et laisser tomber ces stream et autres consoleries.
BruNews, ciao...
Messages postés
112
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
26 janvier 2011
1
remplace

ofstream ofs("c:\\~\\programme.exe",ios::in|ios::binary);



par



ofstream ofs("c:\\~\\programme.exe",ios::in|ios::binary|ios::nocreate);





moi j'arrive pas a ecrire dans le fichier... tu pourais indiquer comment tu fait ???



en fait moi je fait un seekp(...) pour un write(texte,sizeof(texte))

mais soit ca efface tout et ca remplace le début pas des 0 (au sens hexa... ou binaire comme on veut!)

ce qui fait que tout mon fichier est bousillé...



un indice ?

moi, le seul, l'unique, ZinZin
Messages postés
112
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
26 janvier 2011
1
pour brunews...

moi j'aime bien les stream... :-) mais bon chacun son trip ;-)

moi, le seul, l'unique, ZinZin