IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

retrouver le pointer d'une section


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    905
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 905
    Points : 85
    Points
    85
    Par défaut retrouver le pointer d'une section
    Bonjour,

    Je voudrais retrouver l'adresse mémoire (pointer) d'une section (ex. idata,CODE,DATA,.rdata,.rsrc,.reloc) de mon programme (executable) sans à avoir à relire le fichier exe (mon programme) ?

    Existe t'il une API adéquat ?
    Merci.

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Tu peux retrouver un pointeur vers la structure IMAGE_NT_HEADERS avec la fonction ImageNtHeader() si tu disposes de l'adresse de base de ton module:
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    Tu peux retrouver tous les modules (et leur adresse de base) en traversant la liste des modules. Avec la base tu appelles ImageNtHeader() et pour la suite, c.f. ce post:

    http://www.developpez.net/forums/d86...s/#post6092968

    Sinon, non il n'existe pas d'autres moyens pour atteindre la liste des sections d'un module, à part parser le header.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    905
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 905
    Points : 85
    Points
    85
    Par défaut
    ok merci,

    mais c'est PIMAGE_SECTION_HEADER qui m'interesse.
    et l'api en question "ImageNtHeader" recupére le pointer PIMAGE_NT_HEADERS et on ne peux pas recupérer le PIMAGE_SECTION_HEADER.

  4. #4
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Citation Envoyé par yann458 Voir le message
    ok merci,

    mais c'est PIMAGE_SECTION_HEADER qui m'interesse.
    et l'api en question "ImageNtHeader" recupére le pointer PIMAGE_NT_HEADERS et on ne peux pas recupérer le PIMAGE_SECTION_HEADER.
    c.f. IMAGE_FIRST_SECTION qui est une macro dans <winnt.h> et qui retourne un pointeur vers la première section (le retour est un PIMAGE_SECTION_HEADER) à partir d'un pointeur PIMAGE_NT_HEADERS.

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par Neitsa Voir le message
    Sinon, non il n'existe pas d'autres moyens pour atteindre la liste des sections d'un module, à part parser le header.
    Pour parser le header, regarde ce que j'ai fais dans PatchVer.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    905
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 905
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Neitsa Voir le message
    c.f. IMAGE_FIRST_SECTION qui est une macro dans <winnt.h> et qui retourne un pointeur vers la première section (le retour est un PIMAGE_SECTION_HEADER) à partir d'un pointeur PIMAGE_NT_HEADERS.
    Merci beaucoup , je pense que cela me suffit.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR 8.5]Aff d'une section en fonction d'un champ paramètre ?
    Par caviar dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 16/02/2005, 16h15
  2. Comment retrouver le handle d'une application console?
    Par Laurent Dardenne dans le forum Windows
    Réponses: 7
    Dernier message: 22/12/2004, 16h58
  3. pointer sur une ligne d'un TStringGrid
    Par jeannot27 dans le forum C++Builder
    Réponses: 7
    Dernier message: 20/10/2004, 10h56
  4. [CR] Supprimer une section
    Par Milou79 dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 07/09/2004, 11h51
  5. [CR 8.5] Supprimer une section à espaces
    Par franck.cvitrans dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 17/04/2004, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo