Я использую 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, чтобы остановить злоумышленников? Или что-то еще? Кто-нибудь знает? Спасибо
1052672 bytes (1.1 MB) copied
. Не 3,3 МБ (ни 2,3 МБ / с, что было скоростью).Ответы:
Ядро linux на вашей установке Ubuntu поставляется с настройкой *, которая ограничивает извлечение оперативной памяти до 1 МБ.
Если вы не хотите, чтобы вы могли либо перекомпилировать ядро без него (очевидное предостережение: вы снижаете безопасность!), Либо вы можете скачать и инсталлировать криминалистический модуль ядра fmem, чтобы обойти это. Это обеспечивает устройство / dev / fmem без какой-либо защиты.
Как уже упоминалось Opello: вы также можете использовать
strict-devmem=0
в ядре cmdline.* :
STRICT_DEVMEM=y
(см., например, / boot / config-KERNELVERSION)источник
strict-devmem=0
в ядро cmdline.