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 :

injection de code dans fichier PE


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 39
    Par défaut injection de code dans fichier PE
    Salut a tous, je cherche a injecter du code dans un fichier executable au format pe (sous xp 32bits)

    le code ouvre simplement une message box qui affiche "salut".

    le probleme est qu'une fois compile, les addresses utilises dans le code que je veux injecter ne sont pas valide dans le fichier cible

    je voudrais donc (si cela est possible) creer un label qui me permettrait d'utiliser des addresses relatives et donc d'avoir des pointeurs valides

    (j'ai teste avec goto, mais ca ne semble pas fonctionner)

    voila voila

  2. #2
    Membre éprouvé
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Par défaut
    tu dois d'abord apprendre l'assembleur ... reflechir sur les notions de compilation // linkage ...
    et ensuite peut etre que si tu t'acharne, tu arriveras a faire une bidouille pas trop deguelasse qui marche ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 39
    Par défaut
    merci de ta reponse charmante ca fait plaisir de l'aide comme ca

    toi qui semble maitriser la compilation et le linkage et peut-etre meme le c, peut tu m'expliquer comment on realise des labels dans ce langage ou meme si cela est possible?

    ja parle de label utilisables dans une image binaire

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Pourquoi veux-tu faire cela? Ma vision de la situation est que si tu ne possèdes pas les sources de l'exécutable en question, c'est que tu n'as pas l'autorisation de modifier le programme.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 39
    Par défaut
    je ne veus pas vraiment modifier le code du fichier cible, mais simplement appeler un bloc de code suplementaire

    et sinon, c'est simplement un projet que j'ai a realiser dans le cadre de mes etudes, je cherche pas a craquer je ne sais quoi

    le but est de comprendre le fonctionnement d'un virus

    comme l'a dit Dark_Ebola, c'est effectivement faisable en assembleur, mais je cherche a le faire en c

  6. #6
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Je pense qu'il faut sutout te documenter sur la spécification du format PE, sur le mécansime d'édition des liens et de chargement du programme, sur le code machine. Ensuite un fichier exécutable est un fichier binaire comme un autre que tu peux ouvrir, fermer et modifier. J'ai pas plus d'idées à te donner, j'ai l'impression qu'il doit y avoir pas mal d'infos à ce sujet sur le net.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Bonsoir,

    Citation Envoyé par _ky_
    Salut a tous, je cherche a injecter du code dans un fichier executable au format pe (sous xp 32bits)
    Juste pour être sûr : vous modifiez le fichier dans lequel vous injectez du code, c'est bien cela ?

    Citation Envoyé par _ky_
    le code ouvre simplement une message box qui affiche "salut".
    En appelant user32.dll::MessageBoxA ?

    Citation Envoyé par _ky_
    le probleme est qu'une fois compile, les addresses utilises dans le code que je veux injecter ne sont pas valide dans le fichier cible
    Les adresses de quoi ? Des données ? Du code ? Doit-on comprendre que le code injecté est lui aussi écrit en C ? Si oui : est-il entièrement contenu dans une seule fonction ? Si oui : comment traitez-vous son prologue et son épilogue ?

    Citation Envoyé par _ky_
    je voudrais donc (si cela est possible) creer un label qui me permettrait d'utiliser des addresses relatives et donc d'avoir des pointeurs valides

    (j'ai teste avec goto, mais ca ne semble pas fonctionner)
    Un label ? Je ne suis pas certain de suivre. Si vous pouviez préciser ce à quoi vous pensiez...

    Cordialement,
    DS.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 39
    Par défaut
    l'idee est de modifier un fichier au format pe afin de lui rajouter une section de code executable

    le code executable contenu dans la nouvelle section affichera une fenetre grace a MessageBoxA

    l'idee que j'ai eu (potentiellement mauvaise) et de faire un programme qui ouvre une pop-up puis de le compiler et d'inserer le code machine optenu dans la section
    tout cela a l'aide d'un programme injecteur

    j'ai l'addresse de la fonction grace au prog qui injecte, mais les addresses des variables utilisees pour la messagebox sont ne correspondent pas a des addresses reelles dans le fichier cible les section de donnees etant differentes.

    le code est ecrit integralement en C

    je n'ai pas encore teste l'idee que j'expose, et pas reflechis aux problematiques de prologue et d'epilogue.

    l'idee que je voulais exploiter etait celle ci:

    creer une section avec un label (comme en assembleur) contenant mes chaines (pour message box) et utiliser des addresses relatives au label pour trouver les chaines.

    compte tenu de mon taux de fatigue, mon idee n'est peut-etre pas la bonne...
    j'envisage de me tourner vers l'assembleur plutot

    j'espere avoir ete clair, merci de votre aide en tout cas

Discussions similaires

  1. Injection de code dans le .htaccess
    Par reureureu dans le forum Sécurité
    Réponses: 8
    Dernier message: 19/01/2013, 16h52
  2. Sécurité contre injection de code dans upload
    Par langevert dans le forum Langage
    Réponses: 3
    Dernier message: 11/12/2009, 00h24
  3. injection de code dans une application
    Par youp_db dans le forum C
    Réponses: 16
    Dernier message: 21/07/2006, 12h33
  4. [Excel] Injecter du code VBA par le biais d'un fichier *.cvs
    Par llsn dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/05/2006, 20h42

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