lire une adresse en RAM

Le
Pretorien
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 ?

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

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

Merci par avance,

Geekrider
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
moky
Le #18332411
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
Bruno Desthuilliers
Le #18333021
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_ ?
Pretorien
Le #18333081
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.
Bruno Desthuilliers
Le #18334671
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.
NicolasP
Le #18340661
> 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
Michel Claveau - NoSpam SVP ; merci
Le #18349201
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
Pretorien
Le #18367171
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"
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


Publicité
Poster une réponse
Anonyme