Partage
  • Partager sur Facebook
  • Partager sur Twitter

"sortir" de son programme

vous n'avez pas compris ce que je veux dire, n'est-ce pas ?

Sujet résolu
    16 novembre 2011 à 21:05:26

    Bonjour à tous et à toutes,

    En fait, je me demandais s'il était possible de faire agir son programme ailleurs que dans son programme

    Gné ? o_O


    Je me suis un peu mal exprimé, je crois, mais je n'arrive pas à trouver les mots qu'il faut :p
    Je vous donne des exemples :
    1. Je veux que mon programme ouvre une page de Mozilla Firefox
    2. Je veux que mon programme éteint mon lecteur de musique
    3. Je veux que mon programme éteigne mon ordi
    4. Je veux pouvoir détecter les mouvements de la souris, les clics de la souris ou encore les caractères entrés sur le clavier même si la fenêtre de mon programme n'est pas active
    5. Je veux déplacer la souris via une instruction hors de la fenêtre de mon programme
    6. Je veux que mon programme ouvre le bloc note, écrive "Coucou !", sauvegarde le fichier sur mon bureau au nom de coucou.txt et enfin ferme le bloc note
    7. Je veux pouvoir récupérer tout les évènements effectués par le clavier, même hors de mon programme, pour les stocker dans un fichier (et aussi envoyer le fichier à une adresse IP à l'insu du détenteur du programme, mais je vais pas aborder ça ici :-°
    8. Je veux pouvoir incrémenter une variable à chaque fois que le navigateur de l'utilisateur tente d'accéder au Site du Zér0

    Je peux encore continuer, si vous voulez, mais je pense que c'est suffisant pour que vous comprenez le genre de choses que je veux faire. Je me doute bien qu'il est possible de faire tout ça, vu que certains programmes le font, mais est-ce que c'est envisageable de le faire, en C, ou est-ce que ça reste beaucoup trop "complexe" ? Peut-on le faire "normalement", ou faut-il une bibliothèque adéquate ? Si tout cela est possible, il y a-t-il quelque part une liste (en français, si possible :-° ) répertoriant toutes ces fonctions ?

    Merci d'avance ^^
    • Partager sur Facebook
    • Partager sur Twitter
      16 novembre 2011 à 21:20:51

      heu... tu veux créer un programme-espion ? (un virus)

      Citation : Necati

      Je veux pouvoir récupérer tout les évènements effectués par le clavier, même hors de mon programme, pour les stocker dans un fichier (et aussi envoyer le fichier à une adresse IP à l'insu du détenteur du programme, mais je vais pas aborder ça ici


      Un keylogger quoi :-°
      • Partager sur Facebook
      • Partager sur Twitter
        16 novembre 2011 à 21:23:29

        Ben c'est un peu de la prog système, ça revient à utiliser le langage associé à ton OS et la fonction system() du C. Genre -> system("start chrome");.
        • Partager sur Facebook
        • Partager sur Twitter
          16 novembre 2011 à 21:24:46

          Salut,

          Citation : Necati


          est-ce que c'est envisageable de le faire, en C, ou est-ce que ça reste beaucoup trop "complexe" ? Peut-on le faire "normalement", ou faut-il une bibliothèque adéquate ? Si tout cela est possible, il y a-t-il quelque part une liste (en français, si possible :-° ) répertoriant toutes ces fonctions ?



          Possible ça l'est, mais avec des niveaux de difficultés différents. Par exemple, il est très facile de stopper ton lecteur de musique en lui envoyant un signal d'arrêt ou d'ouvrir une page dans un navigateur. Par contre, surveiller les évènements du clavier où les pages web visitées s'avère déjà plus difficile. Dans tous les cas, tu devras passer par des fonctions propre à ton système d'exploitation (la WinAPI sous Windows).
          • Partager sur Facebook
          • Partager sur Twitter
            16 novembre 2011 à 21:36:41

            Citation : h97

            heu... tu veux créer un programme-espion ? (un virus)

            Citation : Necati

            Je veux pouvoir récupérer tout les évènements effectués par le clavier, même hors de mon programme, pour les stocker dans un fichier (et aussi envoyer le fichier à une adresse IP à l'insu du détenteur du programme, mais je vais pas aborder ça ici


            Un keylogger quoi :-°



            Oui, entre autres. Mais je veux pas faire que ça hein :p

            Citation : Camp0us

            Ben c'est un peu de la prog système, ça revient à utiliser le langage associé à ton OS et la fonction system() du C. Genre -> system("start chrome");.



            Ah, donc ce genre de code est différent selon les OS... mais justement, c'est la prog système (vu qu'apparemment ça s'appelle comme ça) que je veux pouvoir manipuler. Et sinon, comment pourrais-je savoir quelles sont les fonctions à utiliser ? Il y a une doc ou quoi que ce soit pour ça ?

            Citation : Taurre


            Possible ça l'est, mais avec des niveaux de difficultés différents. Par exemple, il est très facile de stopper ton lecteur de musique en lui envoyant un signal d'arrêt ou d'ouvrir une page dans un navigateur. Par contre, surveiller les évènements du clavier où les pages web visitées s'avère déjà plus difficile. Dans tous les cas, tu devras passer par des fonctions propre à ton système d'exploitation (la WinAPI sous Windows).



            Ah... :o
            Et sinon, tu pourrais détailler un peu plus ta dernière phrase ? Enfin surtout m'expliquer ce qu'est la WinAPI, et en quoi elle consiste
            • Partager sur Facebook
            • Partager sur Twitter
              16 novembre 2011 à 21:42:13

              Passes par un fichier Batch pour les opérations que tu veux faire. Il y a plein de doc sur le net.
              • Partager sur Facebook
              • Partager sur Twitter
                16 novembre 2011 à 21:58:15

                Citation : Necati


                Ah... :o
                Et sinon, tu pourrais détailler un peu plus ta dernière phrase ? Enfin surtout m'expliquer ce qu'est la WinAPI, et en quoi elle consiste



                Tu as une introduction sur ce site ;)

                EDIT: @h97: moi je m'en fiche je suis sous GNU/Linux :-°
                • Partager sur Facebook
                • Partager sur Twitter
                  16 novembre 2011 à 22:01:11

                  On est train d'aider un gars qui va peut-être bientôt nous envoyer un keylogger :lol:
                  • Partager sur Facebook
                  • Partager sur Twitter
                    16 novembre 2011 à 22:09:14

                    Citation : Hy3rya

                    Passes par un fichier Batch pour les opérations que tu veux faire. Il y a plein de doc sur le net.



                    C'est à dire ? :o

                    Citation : Taurre

                    Tu as une introduction sur ce site ;)



                    Aaah merci beaucoup, c'est exactement ce qu'il me fallait ^^
                    En vérité, j'aurais préféré avoir une petite liste toute faite avec la liste des fonctions et leur explication, j'aurais juste eu à recopier, mais il vaut tout de même mieux que je comprenne comment tout ça marche avant de m'amuser avec (j'avais lu dans un tuto "Un programmeur qui sait ce qu'il fait en vaut deux" :p )
                    En gros, vu que tu es sous Linux je vais devoir réapprendre à faire tout ça sous linux pour que mon prog fonctionne sous linux ? :-°

                    Citation : h97

                    On est train d'aider un gars qui va peut-être bientôt nous envoyer un keylogger :lol:



                    Tu en sais beaucoup trop.
                    nbrCible++;
                    rechargerFusil(cartouche, munitions);
                    tirer(h97, viseur);
                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 novembre 2011 à 22:11:49

                      Tu fais ce que tu veux mais tu m'envoies pas de virus à moi OK ? :lol:
                      • Partager sur Facebook
                      • Partager sur Twitter
                        16 novembre 2011 à 22:16:04

                        Citation : Necati


                        En gros, vu que tu es sous Linux je vais devoir réapprendre à faire tout ça sous linux pour que mon prog fonctionne sous linux ? :-°



                        Oui, tu devras réécrire ton programme en utilisant les fonctions systèmes de GNU/Linux.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          16 novembre 2011 à 22:28:43

                          Citation : h97

                          Tu fais ce que tu veux mais tu m'envoies pas de virus à moi OK ? :lol:



                          Non, je n'oserai pas, vous serez capable de me faire subir 10x pire si j'essayais :lol:

                          Citation : Taurre

                          Oui, tu devras réécrire ton programme en utilisant les fonctions systèmes de GNU/Linux.



                          Donc, en admettant que je veuille envoyer un keylogger à quelqu'un (on admet, histoire que je passe pas pour un gros enfoiré :p ), il faut que je sache d'avance c'est quoi son OS pour lui envoyer la bonne version ? Ou alors il y a un dérive de préprocesseur qui permet de savoir sur quel OS est lancé le programme, et donc qui permettrait à mon programme de fonctionner sous n'importe quel OS (sauf si j'ai codé comme une merde) ?


                          EDIT : Une autre petite question : Pour utiliser le WinAPI, ils disent que je dois créer un projet de type "WinAPI"... ça veut dire que je peux pas combiner ça et la SDL, par exemple, vu que pour la SDL aussi il faut créer un type de projet particulier ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            16 novembre 2011 à 22:44:05

                            Citation : Necati

                            Donc, en admettant que je veuille envoyer un keylogger à quelqu'un



                            Non, on admet pas ça ici. Tu as d'autres exemples de programmation système qui sont moins contestables.

                            La plupart des keyloggers sont spécifiques à Windows, de toute façon. Sous GNU/Linux, si tu veux lancer d'autres programmes, la combinaison fork+exec te sera utile. Pour communiquer avec d'autres programmes, tu peux essayer les pipes ou bien DBus (plutôt pour les programmes graphiques). Pour le traitement des événements, il te faudra dialoguer avec X11. Bref, tout dépend de ce que tu veux faire.

                            Pour Windows, je connais moins, mais toutes les fonctions l'API Win32. Cependant, cette API est tellement vaste qu'il vaut mieux te fixer un objectif précis et chercher comment le faire.

                            Un objectif autre qu'un keylogger, j'entends. Même si c'est pour utiliser sur ton propre ordinateur ou quoi.

                            EDIT : si tu raisonnes en « types de projets », commence par te documenter sur la façon de configurer Code::Blocks proprement. Tu verras alors comment combiner SDL et Api Win32. D'ailleurs, la SDL utilise cette Api sous Windows....

                            Je rappelle aussi que le préprocesseur intervient à la compilation. Il peut te permettre de détecter l'OS sur lequel ton code est compilé, pour créer l'exécutable approprié en fonction. Mais une fois le programme compilé, il est destiné à une plate-forme spécifique. Il n'y a pas d'exécutables compatibles Linux et Windows (si on oublie Wine...) à ma connaissance.
                            • Partager sur Facebook
                            • Partager sur Twitter
                            J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
                              16 novembre 2011 à 22:56:29

                              Citation : GuilOooo

                              Citation : Necati

                              Donc, en admettant que je veuille envoyer un keylogger à quelqu'un



                              Non, on admet pas ça ici. Tu as d'autres exemples de programmation système qui sont moins contestables.



                              Justement, j'ai cité en tout 8 exemples. C'est pas de ma faute si tout le monde s'est appuyé sur l'exemple le moins valorisant :-°

                              Citation : GuilOooo

                              La plupart des keyloggers sont spécifiques à Windows, de toute façon. Sous GNU/Linux, si tu veux lancer d'autres programmes, la combinaison fork+exec te sera utile. Pour communiquer avec d'autres programmes, tu peux essayer les pipes ou bien DBus (plutôt pour les programmes graphiques). Pour le traitement des événements, il te faudra dialoguer avec X11. Bref, tout dépend de ce que tu veux faire.

                              Pour Windows, je connais moins, mais toutes les fonctions l'API Win32. Cependant, cette API est tellement vaste qu'il vaut mieux te fixer un objectif précis et chercher comment le faire.



                              Merci, mais il faut quand même que je comprenne un minimum comment fonctionne cette API pour pouvoir l'utiliser correctement ^^

                              Citation : GuilOooo

                              Un objectif autre qu'un keylogger, j'entends. Même si c'est pour utiliser sur ton propre ordinateur ou quoi.



                              Si j'en fais un, ce sera sûrement pas pour mon propre pc :-°
                              Ce que je voulais savoir faire à la base, c'était utiliser le programme en dehors du programme. Le keylogger n'était qu'un exemple, même s'il serait intéressant d'essayer de coder un truc pareil. Et tu sais, premièrement, c'est pas parce que j'ai un keylogger sous la main que je vais m'amuser à l'envoyer à plein de gens. Deuxièmement, un keylogger ne va pas forcément servir qu'à l'utilisation qu'on a tous en tête, il peut servir à autre chose.

                              C'est pas parce que je sais manier un fusil que je vais aller tuer mes ennemis, je peux par exemple aller faire de la chasse, ou encore laisser le fusil à sa place et ne pas y toucher. C'est pareil.

                              EDIT:

                              Citation : GuilOooo

                              EDIT : si tu raisonnes en « types de projets », commence par te documenter sur la façon de configurer Code::Blocks proprement. Tu verras alors comment combiner SDL et Api Win32. D'ailleurs, la SDL utilise cette Api sous Windows....

                              Je rappelle aussi que le préprocesseur intervient à la compilation. Il peut te permettre de détecter l'OS sur lequel ton code est compilé, pour créer l'exécutable approprié en fonction. Mais une fois le programme compilé, il est destiné à une plate-forme spécifique. Il n'y a pas d'exécutables compatibles Linux et Windows (si on oublie Wine...) à ma connaissance.



                              Ah oui merci, c'est tellement bête que j'aurais du y penser :p
                              • Partager sur Facebook
                              • Partager sur Twitter
                                16 novembre 2011 à 23:03:43

                                Je comprends parfaitement que si tu codes un keylogger, tu ne feras probablement pas de mal avec.

                                Mais cette page est publique. Si on commence à faire « comme si » tu voulais coder un keylogger, et que les membres t'aident à le faire, quelqu'un de moins bien intentionné que toi pourrait un jour tomber sur cette page et s'en aider pour mener ses plans de piratage à bien. Le site du zéro ne veut pas être associé à ça ; c'est pourquoi je t'ai demandé de choisir un autre exemple.

                                Pour l'Api Win32, il y a de nombreux cours sur le web (principalement pour faire des interfaces graphiques avec), n'hésite pas à faire des recherches. Après, la doc te permettra de compléter sur les trucs plus pointus. Mes connaissances se limitent au monde de Linux, mais il y a énormément de tutos sur le web (même pour faire des keyloggers...). Ça devrait te fournir un bon point de départ ; après, tu pourras revenir avec des questions plus précises. :)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
                                  16 novembre 2011 à 23:14:49

                                  Je comprends ^^

                                  Mais je ne viendrai jamais demander de l'aide au sujet de l'écriture d'un keylogger en mettant du code déjà réalisé. L'aide que je demandais concernait davantage la manipulation du système que ce que l'on pourrait faire avec (comme les keyloggers...)

                                  Et pour les cours, Taurre m'en a donné un qui me semble pas mal du tout, d'après ce que j'ai pu en lire pour l'instant. Je préfère les jolis petits tutos de ce site bien rédigés que les tutos où on est obligé de lire 15 fois un passage pour le comprendre (je suis assez exigeant :p )

                                  J'ai la réponse à ma question, donc inutile je pense de s'attarder plus là dessus

                                  Merci vous tous :D
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    18 novembre 2011 à 20:29:06

                                    Je pense alors que tu peux marquer ce sujet comme résolu ^^
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      19 novembre 2011 à 0:32:30

                                      C'est déjà fait depuis longtemps :-°
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      "sortir" de son programme

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown