[英]return a float value from ReadProcessMemory in python
我在游戲“ 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
有一個名為c_float
的ctypes
方法,因此請使用ctypes.c_float()
而不是ctypes.c_int()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.