簡體   English   中英

從python中的ReadProcessMemory返回一個float值

[英]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_floatctypes方法,因此請使用ctypes.c_float()而不是ctypes.c_int()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM