Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 20, 2018 21:29:45

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

Доступ к памяти

Есть hex адрес переменной, заданной в C++ программе (работающей), размер - 3 байта.
Вопрос: есть какой-либо способ получить доступ к адресному пространству другого процесса (если надо, то с рут правами) и считать данные? (Слышал можно как-то через /dev/PID/maps)



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

#2 Окт. 20, 2018 22:30:20

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Доступ к памяти

DamMercul
Есть hex адрес переменной, заданной в C++ программе (работающей)
Это виртуальное адресное пространство. При каждом запуске программы создаётся новое пространство адресов. То есть программе доступны только эти числа, а эти числа отображаются уже на реальные адреса памяти каким-то неизвестным образом.

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

DamMercul
если надо, то с рут правами
Рут-права - это уровень процессов.



Офлайн

#3 Окт. 20, 2018 22:53:27

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

Доступ к памяти

Как выбраться за пределы процессов, модуль писать? Блин



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

#4 Окт. 21, 2018 02:56:13

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Доступ к памяти

DamMercul
Как выбраться за пределы процессов
Да процесс питона даже является процессом. За процессы отвечает ядро операционной системы. В лине после загрузки ядра оно запускает главный процесс и от него порождаются все остальные процессы как дочерние. Так что питон не может выйти за пределы процессов, так как он сам является процессом. Естественно, никакого доступа к реальной памяти он не имеет и точно так же пользуется виртуальной памятью, которую ему предоставило ядро операционной системы.



Отредактировано py.user.next (Окт. 21, 2018 02:57:36)

Офлайн

#5 Окт. 21, 2018 11:34:01

Papa_Svin
Зарегистрирован: 2018-09-17
Сообщения: 138
Репутация: +  1  -
Профиль   Отправить e-mail  

Доступ к памяти

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version