모든 실제 메모리를 파일로 덤프하는 방법은 무엇입니까?


10

Ubuntu 11.10을 사용하고 있으며 일부 커널 제한으로 인해 dd /dev/mem수퍼 유저조차도 모든 물리적 메모리를 덤프하고 스왑 할 수 있는지 간단히 알고 싶습니다 .

dd'ing /dev/mem또는 전용 도구로이를 올바르게 수행 할 수있는 해결 방법 또는 옵션 이 있습니까?


1
wiki.ubuntu.com/Security/Features에 따르면 kmem이 비활성화되어 있으며 /dev/mem제한되어 있습니다.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

답변:


7

fmem 사용

예전에는 간단하게 dd /dev/mem돌아올 수 있었지만 보안상의 이유로 더 이상 커널 커널 2.6, IIRC 이후 로는 사용할 수 없었습니다 .

대안은 루트, (지금 전화에, 나중에 이름을 의지 편집) 또는 더 나은 사용 그렇게 하나 빌드에 자신이 할 수있는 옵션을 WIH 커널입니다 FMEM 하는 생성하는 커널 모듈 /dev/fmem거의 쉽게 투기에 대한 의미 장치.


fmem 은 12.04에서 훌륭하게 작동합니다. 그냥 당신이 사용하게 run.sh모듈을로드하기 위해 타르에 포함 된 파일을; 사용 하지 마십시오 insmod:

$ ./run.sh
...
---- 메모리 영역 : -----
reg00 : base = 0x000000000 (0MB), size = 1024MB, count = 1 : 후기 입
reg01 : base = 0x0c8800000 (3208MB), 크기 = 2MB, 카운트 = 1 : 쓰기 결합
-----------------------
!!! dd에 "count ="를 추가하는 것을 잊지 마십시오!


$ 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 레코드
10 + 0 기록
10000000 바이트 (10MB) 복사, 0.0331212s, 302MB / s

매력처럼 작동합니다. 재부팅하면 make를 다시 실행해야합니까?
nanofarad

아니요, 커널을 변경할 때만 :)
ish

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.