Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

exercice théorique : séquence binaire d'une instance

+2 votes

Cela ne sert pas tous les jours, mais c'est par curiosité :

plutôt que de savoir que tel objet se trouve à telle adresse, comment faire pour connaitre la séquence de 0 et de 1 qui s' y trouve ?
(C'est probablement de la pure théorie...)

deuxième question : est-ce que ça pourrait servir en sécurité ?

demandé 22-Nov-2015 par buffalo974 (2,956 points)
edité 22-Nov-2015 par buffalo974

Je ne vois pas trop ce que tu veux dire (séquence de 0 et de 1, hum...).

Tu cherche à connaitre la représentation interne d'un objet python en mémoire ? Je ne vois pas trop pour quoi faire, et l'interprétation risque d'être difficile, en particulier lorsque ton objet pointe sur d'autres objets (qui se trouvent ailleurs du coup).

Quant à une quelconque "utilité" en sécurité, je ne vois pas vraiment, tu pourrais préciser ta pensée ?

c est a dire comment savoir la sequence binaire se trouvant a telle adresse de tel objet? Sachant que c l adresse de la valeur qu on recup et pas celle de l identifiant!

bah il suffit de traduire l adresse hexa decimale d un en binaire :O

lien sympa sur la recup des adresses

1 Réponse

+3 votes

http://stackoverflow.com/questions/8250625/access-memory-address-in-python

Avec CPython, id() retourne effectivement l'addresse, on peut alors faire:

import ctype, sys, binascii
x = 42
print binascii.hexlify(ctypes.string_at(id(x), sys.getsizeof(x)))
répondu 23-Nov-2015 par bubulle (2,256 points)
...