Чтение памяти из exe, получить значение по адресу, с помощью python

Рейтинг: 0Ответов: 1Опубликовано: 16.02.2023

Собственно есть вот такой кусок кода, тут я получаю значение из памяти процесса exe

from ReadWriteMemory import ReadWriteMemory
 
rwm = ReadWriteMemory()
process = rwm.get_process_by_name('xxx.exe')
process.open()
 
pointer = process.get_pointer(0x160306F4)
>>66229588
 
process.read(pointer)
>>1159578051

При этом я запускаю Cheat Engine и там нахожу этот адрес, со значением 2524.110107, которое мне и нужно введите сюда описание изображения

Как я из python могу получить нужное значение адреса? Или может быть я его уже получил только не в том формате?

Ответы

▲ 4Принят

Это одни и те же байты, только в одном случае интерпретированные как float, а в другом как int:

import struct

print(struct.pack('f', 2524.110107))
print(struct.pack('i', 1159578051))

Вывод:

b'\xc3\xc1\x1dE'
b'\xc3\xc1\x1dE'

Ну или в таком виде байты привычнее видеть:

print(hex(1159578051))
# 0x451dc1c3