8

Я использую Ubuntu 12.04

Я прочитал следующий учебник о том, как получить доступ к содержимому оперативной памяти в Linux ....

http://www.rootninja.com/using-dd-to-search-for-strings-in-memory-or-devices/

Код:

dd if=/dev/mem | hexdump -C | grep “string to search for”

Итак, я запускаю код ...

Код:

sudo dd if=/dev/mem | hexdump -C > NAMEOFOUTPUTFILEHERE.txt

И ... он начинает выкачивать HEX-код, пока через несколько секунд не произойдет:

dd: reading `/dev/mem': Operation not permitted
2056+0 records in 
2056+0 records out
1052672 bytes (1.1 MB) copied, 0.44834 s, 2.3 MB/s

Так что в основном .. Я могу получить около 3,3 МБ содержимого дампа ОЗУ - до тех пор, пока программа не остановится со словами "Операция не разрешена"

И поэтому мне интересно, почему я не могу сбросить все содержимое оперативной памяти? Это преднамеренное ограничение в Ubuntu, чтобы остановить злоумышленников? Или что-то еще? Кто-нибудь знает? Спасибо

1 ответ1

3

Ядро linux на вашей установке Ubuntu поставляется с настройкой *, которая ограничивает извлечение оперативной памяти до 1 МБ.

Если вы не хотите, чтобы вы могли либо перекомпилировать ядро без него (очевидное предостережение: вы снижаете безопасность!) или вы можете скачать и вставить fmem модуля судебно-медицинской экспертизы, чтобы обойти это. Это обеспечивает устройство /dev /fmem без какой-либо защиты.

Как уже упоминалось в Opello: вы также можете использовать strict-devmem=0 в командной строке ядра.


*: STRICT_DEVMEM=y (см., Например, /boot /config-KERNELVERSION)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .