Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lire une adresse en RAM

7 réponses
Avatar
Pretorien
Bonjour,

Je souhaiterai lire le contenu d'une adresse voir une zone m=E9moire en
RAM.

(os =3D linux et/ou windows)

Est-ce possible ? si oui comment faire ?

J'ai cherche un peu mais je ne vois vraiment pas comment faire

si quelqu'un a une id=E9e ... elle serait la bienvenue

Merci par avance,

Geekrider

7 réponses

Avatar
moky
Pretorien ha scritto:
Bonjour,

Je souhaiterai lire le contenu d'une adresse voir une zone mémoire en
RAM.

(os = linux et/ou windows)

Est-ce possible ? si oui comment faire ?



Sous Linux, une piste que tu peux suivre est que
/dev/je-ne-sais-pas-quoi est un "fichier" qui contient la RAM.

Si je t'en disais plus, je sortirais de mon domaine de compétance, et
dirais donc des bêtises ;)

Bonne chance
Laurent
Avatar
Bruno Desthuilliers
Pretorien a écrit :
Bonjour,

Je souhaiterai lire le contenu d'une adresse voir une zone mémoire en
RAM.

(os = linux et/ou windows)

Est-ce possible ?



Probablement.

si oui comment faire ?



En C ?-)


Plus sérieusement: pourquoi veut-tu faire ça ? En d'autres termes, quel
est ton problème _réel_ ?
Avatar
Pretorien
On 8 jan, 13:21, Bruno Desthuilliers <bruno.
wrote:
Pretorien a écrit :

> Bonjour,

> Je souhaiterai lire le contenu d'une adresse voir une zone mémoire en
> RAM.

> (os = linux et/ou windows)

> Est-ce possible ?

Probablement.

> si oui comment faire ?

En C ?-)

Plus sérieusement: pourquoi veut-tu faire ça ? En d'autres termes, qu el
est ton problème _réel_ ?



je voudrais faire un dump memoire d'une zone, d'un processus ou
simplement lire une adresse donné de la mémoire.
Avatar
Bruno Desthuilliers
Pretorien a écrit :
On 8 jan, 13:21, Bruno Desthuilliers <bruno.
wrote:
Pretorien a écrit :

Bonjour,
Je souhaiterai lire le contenu d'une adresse voir une zone mémoire en
RAM.
(os = linux et/ou windows)
Est-ce possible ?


Probablement.

si oui comment faire ?


En C ?-)

Plus sérieusement: pourquoi veut-tu faire ça ? En d'autres termes, quel
est ton problème _réel_ ?



je voudrais faire un dump memoire d'une zone, d'un processus ou
simplement lire une adresse donné de la mémoire.



C'est bien mais ça ne nous dit pas quel problème réel tu veux résoudre
en effectuant une de ces opérations... Enfin bon, passons.

Honnêtement, je ne suis pas sûr que Python soit le langage le plus
adapté pour ça. "Nativement" (ie : sans le support de bibliothèques
spécifiques), c'est simplement impossible puisqu'il n'y a en Python
aucune notion de pointeur ou d'accès direct à la mémoire. Il faut donc
que tu passes par des appels systemes, donc par des bibliothèques
spécifiques au système cible. A ce stade, je te laisse chercher ton
bonheur dans la documentation:

http://docs.python.org/library/index.html
http://docs.python.org/library/allos.html
http://docs.python.org/library/unix.html
http://docs.python.org/library/mmap.html
http://docs.python.org/library/ctypes.html

En ce qui me concerne, j'aurais tendance, pour ce genre d'opérations, à
sortir tout de suite mon GCC et ma bible système.
Avatar
NicolasP
> Je souhaiterai lire le contenu d'une adresse voir une zone mémoire en
RAM.

(os = linux et/ou windows)

Est-ce possible ? si oui comment faire ?

J'ai cherche un peu mais je ne vois vraiment pas comment faire

si quelqu'un a une idée ... elle serait la bienvenue




C'est la librairie CTypes qu'il te faut.
Cette librairie fait partie de la distribution Python standard depuis la 2.5.

Nicolas
Avatar
Michel Claveau - NoSpam SVP ; merci
Bonsoir !

Je ne sais pas pour linux, mais, pour Windows, tu n'es pas sortie de
l'auberge !
Car, les objets en mémoire peuvent être déplacés sans prévenir, d'où
risque de ne pas traiter les bons trucs.
En plus, la mémoire n'est pas continue, mais par blocs ; avec des
offsets ; galère à gérer.
Autre problème, la mémoire virtuelle, dont certaines pages peuvent être
swappée sur disque.

Bref, non seulement il te faudra travailler au niveau du C (Ctypes, que
l'on t'a signalé, peut aider ; ainsi que struct, pour décoder du
contenu), mais aussi utiliser abondamment les API de base du système.

Pour linux, ça devrait être du même genre, mais avec des API
différentes, et une gestion mémoire différente.

AMHA, laisse tomber, ou mets-toi à l'assembleur...

@-salutations
--
Michel Claveau
Avatar
Pretorien
Merci je vais me tourner vers ctypes qui m'a l'air très
sympathique ...


On 9 jan, 23:39, "Michel Claveau - NoSpam SVP ; merci"
wrote:
Bonsoir !

Je ne sais pas pour linux, mais, pour Windows, tu n'es pas sortie de
l'auberge !
Car, les objets en mémoire peuvent être déplacés sans prévenir, d'où
risque de ne pas traiter les bons trucs.
En plus, la mémoire n'est pas continue, mais par blocs ; avec des
offsets ; galère à gérer.
Autre problème, la mémoire virtuelle, dont certaines pages peuvent être
swappée sur disque.

Bref, non seulement il te faudra travailler au niveau du C  (Ctypes, qu e
l'on t'a signalé, peut aider ; ainsi que struct, pour décoder du
contenu), mais aussi utiliser abondamment les API de base du système.

Pour linux, ça devrait être du même genre, mais avec des API
différentes, et une gestion mémoire différente.

AMHA, laisse tomber, ou mets-toi à l'assembleur...

@-salutations
--
Michel Claveau