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 une application


Sujet :

C

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut injection de code dans une application
    bonjour,

    comment faire pour injecter du code en C dans une application.

    par exemple :

    //programme compilé

    p1.exe

    //programme 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    main()
    {
       fct_injection("code a injecter...", p1.exe);
    }
    autrement dit, cela permettrait d'ajouter un processus supplémentaire s'executant dans p1.exe et indépendant du programme...

    est-ce possible ?

    merci

  2. #2
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Si j'ai bien compris, tu peux peut etre faire des bibliotheques dynamique (dll/so)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    non, car je souhaite injecter du code dans des applications sans utiliser de dll.

  4. #4
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Donc si j'ai bien compris, tu voudrais compiler et executer en live du code C dans un programme qui tourne deja...
    Ce genre de bidouille n'est possible qu'en langage de script. Il n'y a pas d'autre moyen d'executer du C sans le compiler

  5. #5
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par youp_db
    autrement dit, cela permettrait d'ajouter un processus supplémentaire s'executant dans p1.exe et indépendant du programme...
    est-ce possible ?
    merci

    oui il faut créer son propre langage de script bref son propre compilateur ou interpréteur....
    Il ya peut-être des bibliothuéques qui interpretent du Javascript

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par Gruik
    Donc si j'ai bien compris, tu voudrais compiler et executer en live du code C dans un programme qui tourne deja...
    oui exact !

    il y a des programmes qui le font bien comme par exemple : les virus informatiques, c'est donc possible !

  7. #7
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Non, les virus informatique modifient directement l'executable en changeant le code machine, ce n'est pas ce que tu veux faire

  8. #8
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Tu veux pouvoir tout utiliser ? (structure...)

    Ou juste réaliser des fonctions de bases ?
    Je ne répondrai à aucune question technique en privé

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par Gruik
    Non, les virus informatique modifient directement l'executable en changeant le code machine, ce n'est pas ce que tu veux faire
    d'accord mais ils le modifient en ajoutant leur code ?!

  10. #10
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par youp_db
    d'accord mais ils le modifient en ajoutant leur code ?!
    Oui et un branchement à celui-ci... Tu ne veux pas les détails, non ?
    Pas de Wi-Fi à la maison : CPL

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 411
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par millie
    Tu veux pouvoir tout utiliser ? (structure...)

    Ou juste réaliser des fonctions de bases ?
    non c'est un processus qui doit s'executer dans un meme programme p1.
    ce processus ayant été ajouté dans p1.exe par un programme p2

  12. #12
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    a la maniere des pirates qui utilise les failles de buffers overflow pour injecter du code nan ?

  13. #13
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Oui, j'ai lu un truc la dessus, encore faut il qu'il yait une faille

  14. #14
    Membre éprouvé

    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
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par youp_db
    cela permettrait d'ajouter un processus supplémentaire s'executant dans p1.exe
    Citation Envoyé par youp_db
    non c'est un processus qui doit s'executer dans un meme programme p1.
    ce processus ayant été ajouté dans p1.exe par un programme p2
    Et si tu commençais par les bases ?
    Genre :
    • qu'est-ce qu'un exécutable ?
    • qu'est-ce qu'un fichier objet ?
    • qu'est-ce qu'un processus ?
    • lequel des trois est créé le premier ?
    • lequel des trois est créé le dernier ?
    • quelles sont les étapes qui mènent au premier ?
    • quelles sont celles qui mènent du premier au dernier ?
    • qui ou quoi réalise ces étapes ?
    • peut-on injecter un processus dans un processus ?
    • si oui, quelles conditions sont nécessaires ?
    • si non, pourquoi ?
    • peut-on injecter un processus dans un ficher exécutable ?
    • si oui, quelles conditions sont nécessaires ?
    • si non, pourquoi ?
    • qu'est-ce qu'un "processus léger" ?
    • y a-t-il un lien entre les "processus légers" et les processus ? (et si oui : lequel ?)
    • qu'est-ce que la mémoire virtuelle ? une adresse virtuelle ?
    • à quoi cela sert-il ?
    • qu'est-ce que le format "COFF" ? et le format "PE" ? et le format "ELF" ?

    Ce ne sont évidemment pas les seules questions auxquelles il faut être capable de répondre pour pouvoir débuter dans de bonnes conditions mais si tu réponds à tout ça facilement (en comprenant tes réponses), alors tu sauras faire ce que tu veux.

    En espérant que cela t'aide...
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

  15. #15
    Membre éprouvé

    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
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    [...] Tu ne veux pas les détails, non ?
    Je ne voudrais pas répondre à sa place, mais je crois que si...
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

  16. #16
    Membre expérimenté
    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
    Points : 1 421
    Points
    1 421
    Par défaut
    la meilleure illustration des buffer overflow est l'utilisation de gets.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void lame (void) 
    { 
    char small[30]; 
    gets (small); 
    printf("%s\n", small); 
    }
     
    int main() 
    { 
    lame (); 
    return 0; 
    }
    y'as de quoi s'amuser une bonne heure a exploiter ce genre de choses; c'est tres interressant d'un point de vue didactique.
    maintenant je crois que ça n'as plus grand chose a voir avec le sujet de depart
    click my www
    ............|___
    ...................\
    .................._|_
    ..................\ /
    ..................."

  17. #17
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Dark_Ebola
    y'as de quoi s'amuser une bonne heure a exploiter ce genre de choses; c'est tres interressant d'un point de vue didactique.
    Très amusant : http://nicolasj.developpez.com/articles/pieges/#LII-A.
    Bon après pour pour injecter son propre code, faut regarder du côté des shellcodes, qui permettent de stocker du code binaire dans une chaine de caractères.

    Mais nous sommes bien d'accord, ce genre d'exercice doit rester dans le cadre de l'apprentissage, et ne doit en aucun être utilisé à des fins malveillantes

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

Discussions similaires

  1. integrer un code C dans une application c++
    Par modafine dans le forum C++
    Réponses: 9
    Dernier message: 25/01/2014, 06h19
  2. Réponses: 12
    Dernier message: 11/03/2010, 11h26
  3. utlisation d'un code d'un plugin dans une application
    Par jijouIng dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 26/05/2009, 10h47
  4. Réponses: 3
    Dernier message: 23/12/2008, 22h34
  5. Mélanger code et données dans une application Win32 ?
    Par Forthman dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 27/10/2008, 22h28

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