如何更改存储在内存地址中的值?

Pio*_*ski 5 python memory

让我们说内存地址0A7F03E4存储一个值124.如何将其更改为300使用python?是否有为此类任务提供的模块?

ch3*_*3ka 8

>>> import ctypes
>>> memfield = (ctypes.c_char).from_address(0x0A7F03E4)
Run Code Online (Sandbox Code Playgroud)

现在你可以阅读memfield,分配给它,做你想做的任何事情.当然,只要您可以访问该内存位置.

你也可以得到一个memarray

>>> memarray = (ctypes.c_char*memoryfieldlen).from_address(0x0A7F03E4)
Run Code Online (Sandbox Code Playgroud)

它为您提供了一个memfield列表.

更新:我刚刚读到你要检索一个整数.在这种情况下,当然要使用ctypes.c_int.一般来说:使用适当的ctype;)