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

C Discussion :

C detecter les appels aux fonctions internes


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 788
    Par défaut C detecter les appels aux fonctions internes
    Bonjour je connais PTRACE pour detecter les syscalls, mais je me demandais comment peut on detecter les appels aux fonctions internes du programme ?

    EDIT: en regardant le man intel je me demande si c'est pas en detectant l'opcode E8 dans EIP.

    Merci

  2. #2
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    ptrace te permet effectivement de détecter les appels systèmes. C'est un programme qui lance ton programme.

    Ton idée à base de EIP, il me semble, nécessite que tu instrumentes (modifie) ton code...

    Tu peux aussi lancer gdb et faire "(gdb) rbreak file.c:." ...

    Il faudrait que tu expliques un peu plus ton cas d'usage.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 788
    Par défaut
    Le cas d'usage est de coder un programme qui a pour but de detecter tous les appels aux fonctions interne du programme.

    J'ai essaye en detectant la valeur E8 dans EIP mais je detecte trop de fonction par rapport a objdump en analysant les call.

    Merci de votre aide.

  4. #4
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    C'est le programme qui se surveille lui même ? C'est ça ? Vous voulez vous même coder une fonction qui fasse quelque chose de particulier qui sera appelée à chaque appel de fonction "locale" au programme.

    Du coup il faut surveiller tous les appels de fonctions du programme sauf les appels systèmes et l'appel au handler de la surveillance.

    Je ne suis toujours pas sûr d'avoir compris si vous voulez faire un programme qui surveille n'importe quel autre process, ou un programme qui surveille sa propre exécution...

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 788
    Par défaut
    C'est un programme qui surveille n'importe quel autre programme.

    J'arrive a detecter les syscall en forkant le programme cible puis regarde si il y a 0xcd 0x80 dans EIP mais pour les appels aux fonctions internes c'est plus compliques...

    Merci.

  6. #6
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Est-ce que tu as la main sur le code source du programme à surveiller ? Cela permettrait d'avoir la possibilité de contrôler la génération de l'exécutable (on pourrait ensuite regarder comment fonctionne les profiler et s'en inspirer par exemple)

Discussions similaires

  1. Les appels aux fonctions ne fonctionnent pas
    Par MaPommeTao dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 16/08/2011, 22h33
  2. preferer les appels aux fonctions const
    Par yan dans le forum C++
    Réponses: 12
    Dernier message: 29/08/2008, 10h15
  3. pb d'appel aux fonctions d'une DLL (visual C++ 6.0)
    Par touti35 dans le forum Visual C++
    Réponses: 4
    Dernier message: 12/12/2006, 09h37
  4. voir tout les appels de fonction avec le debugger?
    Par decksroy dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/10/2006, 11h33
  5. Appel aux fonctions d'une DLL externe ??
    Par Fbartolo dans le forum Access
    Réponses: 7
    Dernier message: 21/11/2005, 17h54

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