Я хочу прочитать регистр из / dev / mem, а вот пример кода
import os, sys
fd = os.open("/dev/mem",os.O_RDWR)
#0xFED01004 = 4275048452
os.lseek(fd, 4275048452, os.SEEK_SET)
ret = os.read(fd,2)
print ret
os.close(fd)
print "close"
Но мой размер оперативной памяти составляет 2 ГБ (0x7FFFFFFF), и это меньше, чем 4275048452.
После выполнения этого кода будет получена ошибка неверного адреса.
Обычно я использую инструмент memhack (напишите в c), чтобы выполнить эту работу, он использует nmap для преобразования физического адреса в виртуальный адрес в пространстве пользователя, чтобы инструмент мог правильно прочитать 0xFED01004. Но теперь я хочу использовать Python для этой работы.
Может ли Python добиться этого?
Если я добавлю RAM к 4 ГБ, тогда этот код работает, но это не то, что я хочу.