我在名为Assault Cube的游戏中有一个包含y位置的地址(我正在学习逆向工程)
我的问题是readprocessmemory的ReadBuffer.value返回一个整数,我正在寻找一种以浮点数形式接收值的方法。有谁知道如何在python中做到这一点?
在图片中,我试图说明如何返回整数(1125777408),该整数本身是正确的,但是我想找到一种方法来返回浮点值(104)。
def ReadProcessMemory(self, hProcess, lpBaseAddress):
try:
lpBaseAddress = lpBaseAddress
ReadBuffer = ctypes.c_uint()
lpBuffer = ctypes.byref(ReadBuffer)
nSize = ctypes.sizeof(ReadBuffer)
lpNumberOfBytesRead = ctypes.c_ulong(0)
ctypes.windll.kernel32.ReadProcessMemory(
hProcess,
lpBaseAddress,
lpBuffer,
nSize,
lpNumberOfBytesRead
)
return ReadBuffer.value
except (BufferError, ValueError, TypeError):
self.CloseHandle(hProcess)
e = 'Handle Closed, Error', hProcess, self.GetLastError()
return e
答案 0 :(得分:1)
有一种名为data
的{{1}}方法,因此请使用ctypes
而不是c_float
。