ReadDATA / WriteDATA oui mais pas pour EXE!!!! [Résolut]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

ReadDATA / WriteDATA oui mais pas pour EXE!!!! [Résolut]

Message par Fortix »

Bonjours, j'ai un petit problème avec "writeData" ,j'arrive à reconstituer
des fichiers txt,js,vbs,bat,etc...... mais pas les exe, pourquoi? :?: ,je pense que ça a un rapport avec la structure PE des executables :!: ,dans ce cas exist il un moyen de reconstituer des exe tels quels??

voici mon exemple en cours (fait en 2min45 donc erreurs possibles!!)

Code : Tout sélectionner

PJ_$ = OpenFileRequester("Recherche Fichier",PJ_$, "Tous les fichiers (*.*)|*.*",0)
;tt=FileSize(PJ_$)

Path_$=GetPathPart(PJ_$)
File_$=GetFilePart(PJ_$)

ID_file = ReadFile(#PB_Any, PJ_$)

*MemoryID = AllocateMemory(FileSize(PJ_$))

If ReadData(ID_file, *MemoryID, MemorySize(*MemoryID))
    CreateFile(1,Path_$+"Remake "+File_$)
        WriteData(1,*MemoryID,MemoryStringLength(*MemoryID))
    CloseFile(1)
EndIf

si vous avez une reponse, je vous serais très reconnaissant :D
Dernière modification par Fortix le mer. 18/juil./2007 12:09, modifié 1 fois.
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Surement du à la fonction MemoryStringLength() qui coupe après le chr(0)

Code : Tout sélectionner

PJ_$ = OpenFileRequester("Recherche Fichier",PJ_$, "Tous les fichiers (*.*)|*.*",0) 
Taille=FileSize(PJ_$) 

Path_$=GetPathPart(PJ_$) 
File_$=GetFilePart(PJ_$) 

ID_file = ReadFile(#PB_Any, PJ_$) 

*MemoryID = AllocateMemory(FileSize(PJ_$)) 

If ReadData(ID_file, *MemoryID, Taille) 
  CreateFile(1,Path_$+"Remake "+File_$) 
  WriteData(1,*MemoryID,Taille) 
  CloseFile(1) 
EndIf 
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

Effectivement, tu as raison Droopy, et dire que j'étais bloqué sur ça depuis plus de trois jours :x ,ça m'apprendra à vouloir toujours tous trouver par moi même :x :x :x :x ,en tous cas Merci beaucoups Droopy :lol:
Répondre