Partage
  • Partager sur Facebook
  • Partager sur Twitter

Attaquer la RAM

Langage C

Sujet résolu
    13 août 2008 à 19:31:54

    Bonjour les ZER0s, :)
    après avoir lire le tutoriel de m@theo21 sur la programmation en langage C
    j'ai trouvé que cette langage est très proche du fonctionnement de l'ordinateur et surtout la mémoire RAM
    donc j'ai eu l'idée de faire un programme C qui permet la visualisation de toute la mémoire de l'ordinateur. ;)
    Mais le problème c'est que lorsque je veux accéder a une case mémoire en indiquant son adresse un message d'erreur s'affiche "WINDOWS a rencontré un problème... envoyer le rapport ou ne pas envoyer".
    Je sais que c'est une case mémoire qui appartient a un autre programme ou elle est vide. :p
    Mais d'après vous qu'elle est la solution pour ce problème ? :euh:
    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      13 août 2008 à 19:42:29

      Bah justement, tu n'as pas le droit d'accéder à une case mémoire qui n'appartient pas à ton problème.
      Si tu fais ça, Windows plante, normal.
      J'pense pas qu'il y est une solution.
      • Partager sur Facebook
      • Partager sur Twitter
        13 août 2008 à 19:45:24

        Citation : smartghost

        après avoir lire le tutoriel de m@theo21 sur la programmation en langage C
        j'ai trouvé que cette langage est très proche du fonctionnement de l'ordinateur

        Du fonctionnement, peut être, mais du matériel, pas forcément. Ça dépend du système.

        Citation : Pas de titre

        et surtout la mémoire RAM
        donc j'ai eu l'idée de faire un programme C qui permet la visualisation de toute la mémoire de l'ordinateur. ;)
        Mais le problème c'est que lorsque je veux accéder a une case mémoire en indiquant son adresse un message d'erreur s'affiche "WINDOWS a rencontré un problème... envoyer le rapport ou ne pas envoyer".
        Je sais que c'est une case mémoire qui appartient a un autre programme ou elle est vide. :p
        Mais d'après vous qu'elle est la solution pour ce problème ?


        Voilà qui illustre le problème. Pour des raisons évidentes de sécurité, la mémoire (ne parlons pas de RAM, c'est trop physique) d'un processus exécuté en mode utilisateur n'est accessible qu'aux processus du système (qui s'exécutent en mode superviseur) et à ce processus. Un processus utilisateur ne peut donc pas accéder à la mémoire d'un autre processus. (heureusement... on est plus sous DOS...)

        Une solution serait d'exécuter un processus en mode superviseur, mais ce n'est pas simple et ça nécessite parfois des outils de développement spécialisés ([windows] DDK)... Bref, ce que tu demandes est une opération système complexe qui n'est pas à la portée d'un développeur d'application en mode utilisateur.

        Nota : Sur les machines modernes avec MMU gérée par le système (Windows, unixoïdes, mac etc.) les adresses des données sont représentes par une valeur souvent entière, dont la signification n'a aucun rapport avec les adresses de mémoire physique correspondantes.

        Par exemple : la case mémoire en RAM à 0x12345678 peut très bien avoir une adresse logique (vue des applications) valant 0xC0001234
        • Partager sur Facebook
        • Partager sur Twitter
        Music only !
          13 août 2008 à 19:50:32

          Merci pour l'explication -ed-,
          même sous Linux y-a pas de solution ?
          • Partager sur Facebook
          • Partager sur Twitter
            13 août 2008 à 19:52:50

            Citation : smartghost

            même sous Linux y-a pas de solution ?


            Si, il faut apprendre la programmation noyau (kernel). C'est un métier. Tu y tiens vraiment ? C'est pour faire quoi ?
            • Partager sur Facebook
            • Partager sur Twitter
            Music only !
              13 août 2008 à 20:00:58

              Le but de faire ce genre de programme c'est de savoir le fonctionnement de la mémoire et pourquoi pas d'autres opérations de gestions !
              c'est pas bien ça ?
              Merci pour votre attention !
              • Partager sur Facebook
              • Partager sur Twitter
                13 août 2008 à 20:04:56

                qu'appelle tu visualisation de la RAM ?

                la quantité de mémoire vive ou alors ce qu'il y a à l'intérieur de la RAM ?

                si c'est juste la quantité de mémoire vive ça se trouve facilement

                mais si c'est pour lire toute la RAM et l'afficher c'est impossible et comme l'a dit -ed- seul un driver noyau peut le faire
                • Partager sur Facebook
                • Partager sur Twitter
                  13 août 2008 à 20:10:43

                  ok merci pour vous tous !
                  il me faut trouvé un autre projet !
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Attaquer la RAM

                  × 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