Что значит адрес вида 0x7fff и как его можно получить с помощью кода
Вот пример кода где такой адрес используется:
import ctypes
a = 0x7fff
print ctypes.cast(id(a), ctypes.py_object).value
Этот адрес может быть длинные либо короче. Мне нужно получить такой же адрес(или адреса) из процесса example.exe, также у меня есть PID этого процесса. Нигде просто не могу найти, что этот адрес значит и как его получить, особенно с помощью кода на Python.
Ответы (1 шт):
Если вы напечатаете 16-ричное представление того, что тут получается, то получите обратно это число.
print(hex(ctypes.cast(id(a), ctypes.py_object).value))
# 0x7fff
Адрес тут id(a), а что в самой переменной a тут не важно, там может быть абсолютно любой объект питона. Например:
import ctypes
a = sum
print(ctypes.cast(id(a), ctypes.py_object).value)
# <built-in function sum>
В данном случае это ссылка на функцию. В общем, ваш код эквивалентен коду:
print(a)
Просто в нём показано, как получить что-то в питоне по адресу с помощью библиотеки ctypes.
Примечание: ваш код для питона 2.х, мой код для питона 3.х, но по сути разницы никакой нет кроме обращения с print.