Como posso descarregar toda a memória física para um arquivo?

10

Estou usando o Ubuntu 11.10 e desejo simplesmente saber se posso copiar toda a memória física e swap, pois devido a algumas restrições do kernel, não posso dd /dev/mem , mesmo como superusuário. Existe alguma solução alternativa ou opção para permitir que dd 'ing /dev/mem ou uma ferramenta dedicada seja feita corretamente?

    
por hexafraction 08.06.2012 / 00:47

2 respostas

6

Use fmem

Você costumava ser capaz de simplesmente dd /dev/mem de volta no dia, mas não mais por motivos de segurança (desde o kernel 2.6, IIRC).

A alternativa é construir o kernel com a opção de deixar o root fazer isso (editar com o nome mais tarde, no telefone agora) OU melhor, usar fmem , um módulo do kernel que cria um dispositivo /dev/fmem para facilitar o despejo.

fmem funciona muito bem para mim no dia 12.04. Apenas certifique-se de usar o arquivo run.sh incluído no tarball para carregar o módulo; não use insmod :

$ ./run.sh
...
----Memory areas: -----
reg00: base=0x000000000 (    0MB), size= 1024MB, count=1: write-back
reg01: base=0x0c8800000 ( 3208MB), size=    2MB, count=1: write-combining
-----------------------
!!! Don't forget add "count=" to dd !!!


$ ls /dev/f*
/dev/fb0  /dev/fd0  /dev/fmem  /dev/full  /dev/fuse


$ sudo dd if=/dev/fmem of=/tmp/fmem_dump.dd bs=1MB count=10
10+0 records in
10+0 records out
10000000 bytes (10 MB) copied, 0.0331212 s, 302 MB/s
    
por ish 08.06.2012 / 02:32
2

Você provavelmente não pode gravar sua memória nos kernels modernos, pois eles estão reduzindo o acesso direto, que é usado principalmente para coisas suspeitas <

/ a>. T ele forense wiki links algumas ferramentas que podem ser de interesse, mas não há nada que realmente tenha sido atualizado nos últimos anos . O LiME parece atualizado, embora ainda não tenha sido testado.

    
por Journeyman Geek 08.06.2012 / 02:33