Insérer un EXE dans un EXE pour l'extraire plus tard =)

Programmation d'applications complexes
Sehka
Messages : 114
Inscription : dim. 27/févr./2005 11:41

Message par Sehka »

Syntaxe

WriteByte(#Fichier, Nombre.b)
Description

Ecrit une valeur de type byte (1 octet) dans le #Fichier. Le fichier doit être accessible en écriture (donc pas ouvert par ReadFile()).
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Sehka a écrit :Syntaxe

WriteByte(#Fichier, Nombre.b)
Description

Ecrit une valeur de type byte (1 octet) dans le #Fichier. Le fichier doit être accessible en écriture (donc pas ouvert par ReadFile()).
Ok, ca va, c'est simple. J'ai corrigé mon exemple avec tous les datas. J'ai ajouté des commentaires, tu verras, ca devrait bien se passer sous PB4. :wink:

EDIT : J'espere maintenant que ca marche avec PB4 (voir ce qu'il faut changer dans mon code. Je l'ai indiqué pour la V4)
#peace #dancing #eat
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

==>> SPH

Dans le code

Code : Tout sélectionner

; ON VIENS de me signaler que le bug serait une mauvaise position du label DTA
; Je corrige donc ce code qui ne devrait plus poser probleme maintenant
; >>>>>>>>>   >>>>>>>>    M-E-R-C-I    A    D-j-e-s
Debug ("DataSection")
Debug ("dta:") ; CE LABEL EST BIEN PLACE NOW : TJR SOUS "DataSection" !!
ReadFile(0, "C:\un fichier EXE"); mettez le EXE que vous voulez scanner
lon=Lof()
txt$=">"
i=0
z=0
While i<lon
look.b= ReadByte()
txt$+","+Str(look.b)
i+1
z+1
If z>20
Debug txt$
txt$=">"
z=0
EndIf
Wend
Debug txt$
Debug ("EndDataSection") 
Pour

Code : Tout sélectionner

lon=Lof()
Lorsque j'execute le programme sous pb4.2 j'ai le message d'erreur :
lon=Lof() Incorrect Numbers of parametters

:?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Ar-S a écrit : Lorsque j'execute le programme sous pb4.2 j'ai le message d'erreur :
lon=Lof() Incorrect Numbers of parametters

:?
si tu regarde la Doc de purebasic
a LOF il est ecrit
Longueur.q = Lof(#Fichier)
cela signifie, qu'il faut un numero de fichier, dans les parametres de cette commande :D

en l'occurrence "0" donc

Code : Tout sélectionner

Lof(0)
pourquoi 0 ? parceque c'est sous ce numéro que le ReadFile a ete ouvert :D


ces specifications sont apparus avec la V4.00 de Purebasic :D
donc tu rencontrera souvent ce genre de modification dans les codes

il existe un super utilitaire de conversion de code Purebasic 3.94 ---> 4.00
il est dispo sur le forum anglais
ecrit par Harald Wagner il s'apelle "PBsourceconverter"

tu choisi le source V3.94 et hop il te le transforme nickel chrome en V4.00 :D
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Arrfff vi je me suis aperçu qu'il fallait mettre (0) mais j'ai pas eu le temsp de repondre (je suis allé faire des courses entre temps ;))
Répondre