Спроба отримати доступ до оперативної пам’яті / dev / mem… говорить «Операція заборонена»


9

Я використовую 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, щоб зупинити шкідливих хакерів? Або це щось інше? Хтось знає? Дякую


3
Гаразд ... забудь ... виявляється, Ubuntu має 1 Мб обмеження на вилучення оперативної пам'яті, як визначено в ядрі. І так ... так .... ця тема зараз вирішена Ось повна інформація для всіх, хто цікавиться ....

1
якщо ваше ядро ​​було складено за допомогою STRICT_DEVMEM = y (див., наприклад, / boot / config-KERNELVERSION), то з / dev / mem зчитується лише перший 1MB. Це не стільки проблема версії ядра, скільки результат складання ядра вашої машини; у більшості ядер дистрибутива це обмеження буде застосовано з поважних причин. Ви можете завантажити та інформувати модуль криміналістичного ядра fmem, щоб обійти це; на власний ризик! rmmod це якнайшвидше після цього. Модуль fmem забезпечує пристрій / dev / fmem без будь-яких обмежень безпеки.

1
msgstr "Я можу отримати близько 3,3 Мбайт вмісту дампу оперативної пам'яті". Ум, ти? Все, що я бачу, це 1052672 bytes (1.1 MB) copied. Не 3.3MB (ні 2.3MB / sec, яка була швидкістю).
Геннес

Відповіді:


4

Ядро Linux на вашому інсталяційному кораблі Ubuntu з налаштуванням *, яке обмежує витяг оперативної пам’яті до 1 МБ.

Якщо ви не хочете, щоб ви могли або перекомпілювати ядро ​​без нього (очевидно, попередження: ви знижуєте безпеку!), Або ви можете завантажити та інформувати криміналістичний модуль ядра fmem для вирішення цього питання. Це забезпечує пристрій / dev / fmem без будь-якого захисту.

Як згадував Opello: ви також можете використовувати strict-devmem=0в cmdline ядра.


* : STRICT_DEVMEM=y(див., наприклад, / boot / config-KERNELVERSION)


3
Ви також можете передавати strict-devmem=0в cmdline ядра.
opello

Лише у Fedora та споріднених дистрибутивах, якщо цього дня навіть *,
18:21
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.