Annonce

Réduire
Aucune annonce.

Python print environment variable address

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Python print environment variable address

    Bonjour,

    J'ai un post stack overflow sur lequel je n'arrive pas a obtenir une réponse, malgres un bounty (j'aurais du essayé les Kinder Bueno )

    Si l'un de vous aurait la réponse, cela serait d'une grande aide.

    http://stackoverflow.com/q/37725945/4511585

    Amicalement,

  • #2
    Je ne connais pas d'autres méthodes pour avoir l'adresse d'une variable que id(hex(...)), désolé !

    Commentaire


    • #3
      Mais alors quelle est cette adresse ?

      Avec gdb-peda ou un printf("%08x") en C j'obtiens la bonne valeur (0xBFFF????) mais pas avec la commande python...

      Commentaire


      • #4
        Ce qui est surprenant c'est qu'une variable créée se trouve à la même adresse à chaque exécution...

        Toute façon en utilisant les types C, j'ai la même chose que dans l'exemple donné sur stack

        Code:
        >>> array = ctypes.c_char_p(bytes(os.environ["PATH"], 'utf8'))
        >>> array
        c_char_p(3073312560)
        >>> ctypes.addressof(array)
        3073886760
        >>> hex(ctypes.addressof(array))
        '0xb737ca28'
        Dernière modification par fred, 14 juin 2016, 11h57.

        Commentaire


        • #5
          Python étant un langage interprété, il tourne sur un interpréteur (ou VM)
          Je me demande donc si ta commande id ne donne pas une référence interne à cette vm.
          Un peu comme l'implementation de base de toSteing en Java qui retourne une référence de l'objet dans la vm

          Commentaire


          • #6
            Ce serait une explication, le fait que l'adresse soit celle de la VM.

            Mais je pense qu'il doit y avoir un moyen d'y acceder quand meme, si PEDA le fait en python..
            J'ai regarder deux secondes, le code source de peda, n'etant pas habitué a python, je vais essayer de faire qqlq test quand j'aurais un peu de temps

            https://github.com/longld/peda/blob/.../peda.py#L1939

            Je vous tiens au courant de mes trouvailles.

            Commentaire

            Chargement...
            X