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

Windows Discussion :

Comment modifier la valeur d'une adresse mémoire ?


Sujet :

Windows

  1. #1
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Comment modifier la valeur d'une adresse mémoire ?
    Bonjour,
    J'essaye déjà depuis un certains temps de modifier la valeur de cette adresse mémoire : 0x01012F60 mais je n'y arrive n'y en C++ n'y en Visual Basic!!

    Aidez moi!!!

    Peut importe le langage (C++ ou VB) même si je préfère le VB pouvez-vous me donnez un code source complet pour modifier la valeur de cette adresse et la remplacer par 867!!!

    Merci d'avance!

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Il va falloir être un peu plus clair dans ce que tu veux faire parce que là, on peu interpréter différemment ta demande.

    Tu as une adresse mémoire 0x01012F60 et tu veux changer le contenu de ce qui est stocké à cet endroit et mettre 867. C'est cela ?

    • Es tu sûr d'avoir le droit d'écrire à cet endroit ? Remarque, tu le verras vite lorsque tu lanceras le programme .
    • Tu veux écrire sur combien d'octets : 1, 2, 4 ou 8 ? Je ne pense pas que cela soit 1 car 867 ne rentre pas dans un octet mais les autres options sont possibles.
    • 867, c'est une valeur en décimal ou hexadécimal ?
    • Et enfin pourquoi diable veut tu faire cela ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Alors oui tu à compris, je veux juste changer le contenu de ce qui est stocké a l'adresse 0x01012F60 et y mettre comme valeur 867.

    Je suis presque sûr d'avoir le droit d'écrire à cette endroit comme tu la dit je le verrais bien!
    Sinon je suis pas très doué en programmation et je ne voit pas ce que tu veut dire 2,4 ou 8 octet?? Y a t-il une réelle importance ?
    Je ne saurais pas te dire si il s'agit d'une valeur en décimal ou hexadécimal, ne sachant ce que c'est.
    Sinon je veut faire ça juste pour m'amuser a modifier une adresse mémoire et voir si j'en suis capable!

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par copterkill Voir le message
    Sinon je suis pas très doué en programmation et je ne voit pas ce que tu veut dire 2,4 ou 8 octet?? Y a t-il une réelle importance ?
    Oui, cela a une réelle importance.
    Comment s'écrit 867 en supposant que cela soit du décimal (ce serait de l'hexa, le raisonnement serait le même, seuls les nombres changeraient) :
    • Sur 2 octets : 03.63 en hexadécimal
    • Sur 4 octets : 00.00.03.63 en hexadécimal
    • Sur 8 octets : 00.00.00.00.00.00.03.63 en hexadécimal
    Tu comprends bien que si j'écrit sur 2 octets, seuls 2 octets sont modifiés et remplacés par 03.63, si j'écris sur 4 octets, 4 octets sont remplacés par 00.00.03.63 et si j'écris sur 8 octets, 8 octets sont remplacés par 00.00.00.00.00.00.03.63. Ce n'est pas du tout le même résultat.

    Citation Envoyé par copterkill Voir le message
    Je ne saurais pas te dire si il s'agit d'une valeur en décimal ou hexadécimal, ne sachant ce que c'est.
    Il va falloir trouver une réponse car cela aussi a son importance.

    Citation Envoyé par copterkill Voir le message
    Sinon je veut faire ça juste pour m'amuser a modifier une adresse mémoire et voir si j'en suis capable!
    Drôle de jeu ...

    Un petit bout de code en C qui suppose que tu écrive sur 2 octets et que 867 est du décimal.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    unsigned short * ptr = (unsigned short *)0x01012F60;
    *ptr = 867;
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Alors si cela peut t'aider, quand la valeur sera modifier, le nombre 867 apparaitra dans un logiciel qu'un copain m'a fait m'affirmant que je n'arriverais pas à faire un programme capable de modifier ce nombre.

    Il m'a quand même donné cette adresse mémoire qui, ne me sert pas à grand choses pour l'instant...

    Je pense qu'il doit s'agir de 2 octets mais, si je veus modifier la valeur non par 867 mais par exemple 12345, Cela ne tiendra pas sur 2 octets ???

    Sinon pour le code que tu m'a donné, je ne suis vraiment pas fort en C++ donc je ne sait pas, ce qu'il faut mettre en Include ...

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par copterkill Voir le message
    Je pense qu'il doit s'agir de 2 octets mais, si je veus modifier la valeur non par 867 mais par exemple 12345, Cela ne tiendra pas sur 2 octets ???
    Oui, cela tiendra. Sur 2 octets, tu peux écrire les valeurs de 0 à 65535

    Citation Envoyé par copterkill Voir le message
    Sinon pour le code que tu m'a donné, je ne suis vraiment pas fort en C++ donc je ne sait pas, ce qu'il faut mettre en Include ...
    C'est même pas du C++, c'est du C et pas besoin d'include.


    Le code un peu plus complet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void main(void)
    {
       unsigned short * ptr = (unsigned short *)0x01012F60;
       *ptr = 867;
    }
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Alors voila le code que j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <stdio.h>
    #include <stdlib.h>
    
    void main(void)
    {
       unsigned short * ptr = (unsigned short *)0x01012F60;
       *ptr = 867;
    }
    Mais ça ne marche pas....

    Je suis vraiment nul.

Discussions similaires

  1. [XSL] Comment modifier la valeur d'une variable?
    Par sorcer1 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/02/2010, 13h26
  2. Réponses: 6
    Dernier message: 15/02/2008, 11h10
  3. Comment modifier la valeur d'une variable Mysql.
    Par pcsystemd dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 19/09/2007, 08h22
  4. Réponses: 9
    Dernier message: 04/05/2006, 17h33
  5. lire la valeur d'une adresse mémoire
    Par ilimo dans le forum Windows
    Réponses: 17
    Dernier message: 11/04/2006, 15h21

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