OVH Cloud OVH Cloud

Image Mémoire

6 réponses
Avatar
thierry
Salut,
je c pas si c le bon forum mais j'arrive rien a trouvé de mieux (si qqn
peut me dire ou...)
Mon problème : je cherche à obtenir une image de la mémoire de mon PC.
Ya bien /proc/kcore mais je pense qu'il ne donne que le RAM.
Moi je voudrais arriver à explorer les ROM aussi.
Comment faire merci.
A+
Thierry

6 réponses

Avatar
françois
thierry wrote:
Salut,
je c pas si c le bon forum mais j'arrive rien a trouvé de mieux (si qqn
peut me dire ou...)
Mon problème : je cherche à obtenir une image de la mémoire de mon PC.
Ya bien /proc/kcore mais je pense qu'il ne donne que le RAM.
Moi je voudrais arriver à explorer les ROM aussi.
Comment faire merci.
A+
Thierry



Salut ,

Tu parles de rom , genre la rom de ton bios , de ton dd
de ta carte réseau ......

Logiquement tu devrais y arriver sans trop de soucis
mais selon le constructeur tu auras des restrictions
au niveau des droits ,pas de possibilité d'ecriture
par exemple (encore que le flashage est possible sur
de nombreux matos) , ou un accés partiel à l'
information que tu cherches ....

==> je crois en premier lieu qu'il faudrai récupérer
les plages mémoire de chaque matos brancher sur la
carte mère , et ce , par l'intermediaire du bios
, un "lspci -vv " permet de voir ceci ,cela te donnera
les lignes d'interruption (irq) ainsi que les plages mémoire
de chaque carte brancher .

Pour l'accès proprement dit à la rom , je passe .....

Avatar
thierry
Tu parles de rom , genre la rom de ton bios , de ton dd de ta carte
réseau ......


J'ai été clair, c déja ca ;-)))

==> je crois en premier lieu qu'il faudrai récupérer
les plages mémoire de chaque matos brancher sur la
Ca je sais faire.


Pour l'accès proprement dit à la rom , je passe .....
C ca le pb. Sous MS-DOS on pouvait faire 1 DEBUG, mais sous Linux j'arrive

pas à trouvé ca (je pensais à /proc/kcore mais ca marche pas, j'arrive pas
dans les plages de ROM, /proc/kcore y donne ke la RAM on dirait).

Avatar
françois
thierry wrote:
Tu parles de rom , genre la rom de ton bios , de ton dd de ta carte


réseau ......

J'ai été clair, c déja ca ;-)))




Je parlais pour moi ,je n'étais pas trés sûre....

==> je crois en premier lieu qu'il faudrai récupérer
les plages mémoire de chaque matos brancher sur la


Ca je sais faire.




Ok

Pour l'accès proprement dit à la rom , je passe .....


C ca le pb. Sous MS-DOS on pouvait faire 1 DEBUG, mais sous Linux j'arrive
pas à trouvé ca (je pensais à /proc/kcore mais ca marche pas, j'arrive pas
dans les plages de ROM, /proc/kcore y donne ke la RAM on dirait).



tu as la possibilité alors de consulter les datasheet sur les
sites constructeur ,certain fournisse des utilitaires pour accéder
à la rom de leur matos (je pense que tu est au courant aussi)
le truc c'est comme tu le dis ==> trés souvent sous dos
il faudrai voir si un soft "bas niveau" existe sous tux ,et ça je suis
comme toi ????

Je pense qu'on te répondra si il existe

Pour kcore c'est un dump de ram


@+


Avatar
no_spam
On Sun, 09 May 2004 12:42:19 +0200, thierry wrote:

Tu parles de rom , genre la rom de ton bios , de ton dd de ta carte
réseau ......


J'ai été clair, c déja ca ;-)))

==> je crois en premier lieu qu'il faudrai récupérer
les plages mémoire de chaque matos brancher sur la
Ca je sais faire.


Pour l'accès proprement dit à la rom , je passe .....
C ca le pb. Sous MS-DOS on pouvait faire 1 DEBUG, mais sous Linux j'arrive

pas à trouvé ca (je pensais à /proc/kcore mais ca marche pas, j'arrive pas
dans les plages de ROM, /proc/kcore y donne ke la RAM on dirait).


/proc/kcore ne donne pas la RAM mais l'espace mémoire mappée par le
noyau Linux. On y trouve donc un mapping complet de la RAM physique
mais pas uniquement. Comme il ne se sert pas des BIOS, ceux-ci ne
sont pas mappés.
Par contre, c'est très simple avec un petit programme en C,
si tu sais à quelle addresse est le BIOS à dumper:

void dump (unsigned long bios_addr, unsigned long bios_size)
{
void *addr
int fd;

fd = open("/dev/mem", O_RDONLY);
addr = mmap(0, bios_size, PROT_READ, MAP_SHARED, bios_addr,
fd);
/* Le BIOS est mappé entre addr et addr + bios_size */
....

munmap(addr, bios_size);
close(fd);
}

A la place des "..." tu fait ce que tu as envie de faire pour le
dumper (par exemple l'écrire dans un fichier).
Il est possible (mais pas certain) que tu puisse faire la même chose
en shell avec dd if=/dev/mem seek=xxx
Pas certain, car comme la mémoire est discontinue, je ne suis pas
sur du résultat du seek...


Avatar
thierry
Il est possible (mais pas certain) que tu puisse faire la même chose
en shell avec dd if=/dev/mem seek=xxx
Pas certain, car comme la mémoire est discontinue, je ne suis pas
sur du résultat du seek...


Ca marche impec.
En vrai je fais
hexdump /dev/mem -n <nb octets a afficher> -s <adresse de début>
je vais essayer maintenant avec biew.

Mci

Avatar
thierry
Il est possible (mais pas certain) que tu puisse faire la même chose
en shell avec dd if=/dev/mem seek=xxx
Pas certain, car comme la mémoire est discontinue, je ne suis pas
sur du résultat du seek...


Ca marche PRESQUE.
En vrai je fais
hexdump /dev/mem -n <nb octets a afficher> -s <adresse de début>
Le pb c ke je peux aller plus loin que 0x7fff ffff...
je vais essayer maintenant avec biew.

Mci