return 来自 python 中 ReadProcessMemory 的浮点值

return a float value from ReadProcessMemory in python

我在名为 Assault Cube 的游戏中有一个包含 y 位置的地址(我正在学习逆向工程)

我的问题是 readprocessmemory 的 ReadBuffer.value returns 是一个整数,我正在寻找一种方法来接收浮点值。有谁知道如何在 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

有一个名为 c_floatctypes 方法,所以使用 ctypes.c_float() 而不是 ctypes.c_int()