Найти - Пользователи
Полная версия: Доступ к памяти
Начало » Python для новичков » Доступ к памяти
1
DamMercul
Есть hex адрес переменной, заданной в C++ программе (работающей), размер - 3 байта.
Вопрос: есть какой-либо способ получить доступ к адресному пространству другого процесса (если надо, то с рут правами) и считать данные? (Слышал можно как-то через /dev/PID/maps)
py.user.next
DamMercul
Есть hex адрес переменной, заданной в C++ программе (работающей)
Это виртуальное адресное пространство. При каждом запуске программы создаётся новое пространство адресов. То есть программе доступны только эти числа, а эти числа отображаются уже на реальные адреса памяти каким-то неизвестным образом.

DamMercul
есть какой-либо способ получить доступ к адресному пространству другого процесса
Из одного процесса в другой процесс нельзя. Находясь за пределами процессов, можно.

DamMercul
если надо, то с рут правами
Рут-права - это уровень процессов.
DamMercul
Как выбраться за пределы процессов, модуль писать? Блин
py.user.next
DamMercul
Как выбраться за пределы процессов
Да процесс питона даже является процессом. За процессы отвечает ядро операционной системы. В лине после загрузки ядра оно запускает главный процесс и от него порождаются все остальные процессы как дочерние. Так что питон не может выйти за пределы процессов, так как он сам является процессом. Естественно, никакого доступа к реальной памяти он не имеет и точно так же пользуется виртуальной памятью, которую ему предоставило ядро операционной системы.
Papa_Svin
DamMercul

https://github.com/teeks99/py_boost_shmem
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB