Позволяет сказать, что адрес памяти 0A7F03E4
сохраняет значение 124
. Как изменить его на 300
с помощью python? Есть ли модуль для такого рода задач?Как изменить значение, сохраненное в адресе памяти?
ответ
>>> import ctypes
>>> memfield = (ctypes.c_char).from_address(0x0A7F03E4)
Теперь вы можете читать memfield, присваивать ему, делать все, что хотите. Конечно, если у вас есть доступ к этой ячейке памяти.
вы также можете получить memarray с
>>> memarray = (ctypes.c_char*memoryfieldlen).from_address(0x0A7F03E4)
, который дает вам список memfields.
Обновление: я просто прочитал, что вы хотите получить целое число. в этом случае, конечно, используйте ctypes.c_int. В общем: используйте соответствующий CType;)
Разве это не даст вам адрес виртуальной памяти процесса python, а не физический адрес? Последний, вероятно, будет недоступен в зависимости от операционной системы и привилегий процесса. –
, когда вы хотите получить доступ к полю, отличному от данных, или к полю вне доступной памяти, вы получите, конечно, segfault. – ch3ka
Вы пробовали встроенный модуль ctypes? Он обеспечивает функцию memset, которая должна дать вам то, что вам нужно.
На UNIX, вы можете попробовать open()
в /dev/mem
устройство для доступа к физической памяти, а затем использовать seek()
метод file
объекта установить указатель файла на нужное место. Затем используйте метод write()
для изменения значения. Не забудьте закодировать номер как необработанную строку!
В общем, только пользователь root
имеет доступ к этому устройству.
- 1. Как изменить значение, сохраненное по адресу памяти
- 2. Как изменить значение, сохраненное в адресе в x86?
- 3. Как изменить значение, сохраненное в ячейке памяти в java
- 4. как изменить значение, сохраненное в VLA, который находится в структурах
- 5. Как изменить значение, сохраненное по адресу через C++?
- 6. Как изменить сохраненное значение в Рецептуре значения углового
- 7. Как редактировать сохраненное значение в NSUserDefaults
- 8. Как правильно увеличить значение, сохраненное в HashBasedTable?
- 9. Перезаписать значение, сохраненное в NSUserDefaults
- 10. Как добавить кнопку, чтобы изменить значение в URL-адресе
- 11. Как закодировать значение, сохраненное в сеансе?
- 12. Как проверить значение переключателя, сохраненное в sharedpreferences?
- 13. Как получить значение, сохраненное в NSUserdefault
- 14. Как восстановить сохраненное значение в настройках libgdx
- 15. Как изменить значение в пространстве памяти другого процесса
- 16. Android изменит сохраненное значение SharedPreferences?
- 17. Сохранять переменную в определенном адресе памяти C#
- 18. Сохранять значение в адресе памяти с помощью сборки с 68HC11
- 19. Android изменил значение, сохраненное в программе
- 20. Как скрыть значение кнопки в URL-адресе?
- 21. Как найти сохраненное в памяти имя файла в Perl?
- 22. Как изменить память памяти памяти в hadoop?
- 23. Покажите изображение, сохраненное на внутренней памяти
- 24. Сохраненное значение, генерирующее [объект HTMLInputElement]
- 25. Изменить значение в URL-адресе, чем перенаправить с .htaccess
- 26. Значение даты Loopback, сохраненное как строка
- 27. C# изменить переменные памяти адрес
- 28. Как изменить имя файла в URL-адресе
- 29. Как изменить «?» символ в URL-адресе .htaccess?
- 30. Откройте таблицу, используя значение, сохраненное в SQL
Возможно, вам придется иметь дело с защитой памяти. Если это код или данные только для чтения, вы не сможете писать на этот адрес. –
Вы говорите об адресе виртуальной памяти или адресе физической памяти? –