簡體   English   中英

如何從進程的 memory 中讀取 DOUBLE

[英]How do I read DOUBLE from a memory of a process

所以我正在為游戲 Bloons TD6 制作一個 AI BOT,但要讓它工作,我需要獲得金錢價值,以便他知道什么時候可以買東西。 為此,我決定找到指向游戲內資金的指針,但我不知道如何使用 python 讀取 memory,我設法在 cpp 中做到了,但為了讓機器人工作,我需要在 Z23EEEB4347BDD26BFCZ6B7EE9A3B755DD. 我已經設法獲得了 PID,現在我只需要從 memory 中讀取一個地址。

同樣重要的是,我想讀取的值是雙倍的。

PROCESS_ALL_ACCESS = 0x1F0FFF
HWND = win32ui.FindWindow(None,"BloonsTD6").GetSafeHwnd()
PID = win32process.GetWindowThreadProcessId(HWND)[1]

你可以試試Pymem here you can find a quickstart showing how you can read/write integer values from/to process memory: https://pymem.readthedocs.io/en/latest/quickstart.html .

你會發現這個簡單的例子(實際上有一個錯字,它是pm.process_id ,而不是process_id ):

from pymem import Pymem

pm = Pymem('notepad.exe')
print('Process id: %s' % pm.process_id)
address = pm.allocate(10)
print('Allocated address: %s' % address)
pm.write_int(address, 1337)
value = pm.read_int(address)
print('Allocated value: %s' % value)
pm.free(address)

以同樣的方式,可以使用read_double()write_double()函數來讀/寫一個 double。 你可以在這里找到一些文檔: https://pymem.readthedocs.io/en/documentation/api.html

另請查看: 使用 Python 從進程的 memory 讀取數據

暫無
暫無

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

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