Fichier map
-
- Messages : 52
- Inscription : dim. 29/juin/2014 6:32
Fichier map
Est il possible de générer un fichier map lors de la compilation ?
Re: Fichier map
Salut,
Qu'appelles tu un fichier map ? de google map ? de quake ? un fichier texte avec les données de la commande NewMap de pb ?
De la précision dans les questions stp
Qu'appelles tu un fichier map ? de google map ? de quake ? un fichier texte avec les données de la commande NewMap de pb ?
De la précision dans les questions stp
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
-
- Messages : 52
- Inscription : dim. 29/juin/2014 6:32
Re: Fichier map
Un fichier qui indique les fonctions avec les adresses respectives
Func XXXXXX 0x000401...
Func XXXXXX 0x000401...
Re: Fichier map
il faut se le programmer. Et lister les fonctions à la main.
Tu peut te faire un truc du genre :
Tu peut te faire un truc du genre :
Code : Tout sélectionner
Macro _q
"
EndMacro
Macro Map_(_funct_)
Debug _q#_funct_#_q + " @ " + @_funct_
EndMacro
Procedure test()
EndProcedure
Map_(test())
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel )
Mon site : CeriseCode (Attention Chantier perpétuel )
- majikeyric
- Messages : 602
- Inscription : dim. 08/déc./2013 23:19
- Contact :
Re: Fichier map
Mais dans tous les cas, à quoi ça servira ?
Puisqu'à chaque exécution l'exécutable est relogé en mémoire à des adresse différentes.
A moins que tu veuilles l'offset (le déplacement) d'une fonction par rapport au début de l'éxécutable ???
Puisqu'à chaque exécution l'exécutable est relogé en mémoire à des adresse différentes.
A moins que tu veuilles l'offset (le déplacement) d'une fonction par rapport au début de l'éxécutable ???
Re: Fichier map
ben c'est ça que le @Funct te donne..., mais j'avoue que je n'y vois pas trop l'intérêt.
Ca doit avoir un lien avec les autres post de CaptainCrunch sur la sécurité
Ca doit avoir un lien avec les autres post de CaptainCrunch sur la sécurité
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel )
Mon site : CeriseCode (Attention Chantier perpétuel )
Re: Fichier map
Un truc comme ça ne convient pas ? (voir l'aide sur 'RunTime')
Code : Tout sélectionner
Runtime Procedure OnEvent()
Debug "OnEvent"
EndProcedure
Debug GetRuntimeInteger("OnEvent()") ; Will display the procedure address
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
- majikeyric
- Messages : 602
- Inscription : dim. 08/déc./2013 23:19
- Contact :
Re: Fichier map
L'adresse retournée est un offset par rapport au début du segment de code ? ou c'est l'adresse physique mémoire ?graph100 a écrit :ben c'est ça que le @Funct te donne...,
Je m'y perd avec ces modes d'adressage à la noix...
*edit* Après avoir désassemblé un morceau de code, c'est l'offset par rapport à CS.
Re: Fichier map
Comme tu peux enregistrer des adresses de procedure dans une DataSection, pour les exploiter ensuite avec les interfaces, ces adresses sont utilisables une fois que l'exe est produit !
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel )
Mon site : CeriseCode (Attention Chantier perpétuel )
-
- Messages : 52
- Inscription : dim. 29/juin/2014 6:32
Re: Fichier map
Hello,
Merci pour vos réponses
Dis moi graph100, tu n'aurais pas un petit exemple pour illustrer la chose ?
Merci pour vos réponses
Dis moi graph100, tu n'aurais pas un petit exemple pour illustrer la chose ?
Re: Fichier map
Code : Tout sélectionner
Interface interface_fonction
DateString.s()
AfficheDATE()
EndInterface
Structure structure_fonction
*zz_FunctionTable
_Function.interface_fonction
date.s
EndStructure
Procedure.s Fonction_DATE_STR(*obj.structure_fonction) ; retourne la date en chaine de caractère
*obj\date = FormatDate("%yyyy/%mm/%dd", Date())
ProcedureReturn *obj\date
EndProcedure
Procedure Fonction_Requester_DATE(*obj.structure_fonction) ; retourne la date en chaine de caractère
MessageRequester("Date", "La date enregistrée dans *obj est : " + *obj\date)
EndProcedure
; création de l'obj
*obj.structure_fonction = AllocateMemory(SizeOf(structure_fonction))
*obj\_Function = *obj
*obj\zz_FunctionTable = ?VTable
; on enregistre les adresses des fonctions
DataSection
VTable:
Data.i @Fonction_DATE_STR()
Data.i @Fonction_Requester_DATE()
EndDataSection
; utilisation
Debug *obj\_Function\DateString()
*obj\_Function\AfficheDATE()
*obj\date = "2013/05/01"
*obj\_Function\AfficheDATE()
; on peut aussi utiliser un autre pointeur pour acceder à l'interface
; seulement, on ne pourra pas accèder aux autres champs de la structure.
*inter.interface_fonction = *obj
*inter\AfficheDATE()
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel )
Mon site : CeriseCode (Attention Chantier perpétuel )