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

ltrace, malloc : interprétation de l'adresse et récupération data

7 réponses
Avatar
bidonnewsgroup
Bonjour,

Sur un linux debian :

ltrace sur un process me donne (entre autre) :
malloc(16) = 0x080e5e88
malloc(512) = 0x080e5ea0

Cette adresse est normallement un pointeur et doit donc contenir une
(autre) adresse mémoire qui pointe sur les données qui y ont
(peut-être) étées mise.

(Certainement) bêtement, j'ai essayé :

dd if=/proc/kcore of=dd.out bs=1 count=4 skip=135159456 (0x080e5ea0 en
décimal)
Cela me fonctionne pas, ce que je récupére ne ressemble pas à une
adresse mémoire.

J'ai aussi fait des essais avec gdb en m'inspirant de
http://www.securityfocus.com/printable/infocus/1637 mais je ne le
programme ne rend pas la main à gdb lors du passage sur malloc (ou
free).

Voila, si vous avez une idée ?!

Fabrice.
(ps : adresse bidon, j'en ai marre su spam).

7 réponses

Avatar
azathoth
In article (Dans l'article)
, Fabrice
wrote (écrivait) :

Voila, si vous avez une idée ?!


Poster sur le bon groupe pour commencer.

Avatar
Laurent Wacrenier
["Followup-To:" header set to fr.comp.os.unix.]
Fabrice écrit:
Bonjour,

Sur un linux debian :

ltrace sur un process me donne (entre autre) :
malloc(16) = 0x080e5e88
malloc(512) = 0x080e5ea0

Cette adresse est normallement un pointeur et doit donc contenir une
(autre) adresse mémoire qui pointe sur les données qui y ont
(peut-être) étées mise.

(Certainement) bêtement, j'ai essayé :

dd if=/proc/kcore ofÝ.out bs=1 count=4 skip5159456 (0x080e5ea0 en
décimal)
Cela me fonctionne pas, ce que je récupére ne ressemble pas à une
adresse mémoire.


Les espaces d'adressage de différents processus sont distincts.

Avatar
bidonnewsgroup
azathoth wrote in message news:<130820032100380827%...
In article (Dans l'article)
, Fabrice
wrote (écrivait) :

Voila, si vous avez une idée ?!


Poster sur le bon groupe pour commencer.


Wahoo. Alors là, tu m'en bouche un coin.
Merci, maintenant, je sais dans quel groupe poster.

Tu sais t'y prendre pour faire avancer les choses toi.


Avatar
bidonnewsgroup
Laurent Wacrenier <lwa@ teaser . fr> wrote in message news:...
["Followup-To:" header set to fr.comp.os.unix.]
Fabrice écrit:
Bonjour,

Sur un linux debian :

ltrace sur un process me donne (entre autre) :
malloc(16) = 0x080e5e88
malloc(512) = 0x080e5ea0

Cette adresse est normallement un pointeur et doit donc contenir une
(autre) adresse mémoire qui pointe sur les données qui y ont
(peut-être) étées mise.

(Certainement) bêtement, j'ai essayé :

dd if=/proc/kcore ofÝ.out bs=1 count=4 skip5159456 (0x080e5ea0 en
décimal)
Cela me fonctionne pas, ce que je récupére ne ressemble pas à une
adresse mémoire.


Les espaces d'adressage de différents processus sont distincts.


Salut,

Tu veux dire que l'adresse n'est pas absolue par rapport à la mémoire
mais relative au sein du processus ?
Dans ce cas, comment trouver le point de départ, les régles
d'adressages, ... ?


Avatar
azathoth
Fabrice wrote:

Wahoo. Alors là, tu m'en bouche un coin.
Merci, maintenant, je sais dans quel groupe poster.


Tu sais surtout dans quel groupe il ne faut pas poster.

Tu sais t'y prendre pour faire avancer les choses toi.


Je sais.

Avatar
Gilles-Claude Rajaobelina
Fabrice wrote:
Laurent Wacrenier <lwa@ teaser . fr> wrote in message news:...

["Followup-To:" header set to fr.comp.os.unix.]
Fabrice écrit:

Bonjour,

Sur un linux debian :

ltrace sur un process me donne (entre autre) :
malloc(16) = 0x080e5e88
malloc(512) = 0x080e5ea0

Cette adresse est normallement un pointeur et doit donc contenir une
(autre) adresse mémoire qui pointe sur les données qui y ont
(peut-être) étées mise.

(Certainement) bêtement, j'ai essayé :

dd if=/proc/kcore ofÝ.out bs=1 count=4 skip5159456 (0x080e5ea0 en
décimal)
Cela me fonctionne pas, ce que je récupére ne ressemble pas à une
adresse mémoire.


Les espaces d'adressage de différents processus sont distincts.



Salut,

Tu veux dire que l'adresse n'est pas absolue par rapport à la mémoire
mais relative au sein du processus ?


non, absolue, dans un espace virtuel donné.

Dans ce cas, comment trouver le point de départ, les régles
d'adressages, ... ?


RTFM (gdb, google etc)

--
| Mon 1er est bête, l' horreur si sale ou méchant, fait pitié si n' |
| est que pauvre. Mon 2ème l' est aussi, mais plutôt benêt. Mon 3ème |
| adore les trous de serrure. Mon tout, bien ciblé, achète n' importe |
| quoi, surtout si c' est cher. ^<>^ |



Avatar
Gilles-Claude Rajaobelina
Fabrice wrote:
Bonjour,

Sur un linux debian :

ltrace sur un process me donne (entre autre) :
malloc(16) = 0x080e5e88
malloc(512) = 0x080e5ea0

[..]

J'ai aussi fait des essais avec gdb en m'inspirant de
http://www.securityfocus.com/printable/infocus/1637 mais je ne le
programme ne rend pas la main à gdb lors du passage sur malloc (ou
free).

Voila, si vous avez une idée ?!


Oui: man (ou info) gdb.

--
| Mon 1er est bête, l' horreur si sale ou méchant, fait pitié si n' |
| est que pauvre. Mon 2ème l' est aussi, mais plutôt benêt. Mon 3ème |
| adore les trous de serrure. Mon tout, bien ciblé, achète n' importe |
| quoi, surtout si c' est cher. ^<>^ |