メモリアドレス0A7F03E4
に値が格納されているとします124
。300
Pythonを使用するように変更するにはどうすればよいですか?この種のタスク用に提供されているモジュールはありますか?
質問する
8822 次
3 に答える
10
>>> import ctypes
>>> memfield = (ctypes.c_char).from_address(0x0A7F03E4)
これで、memfieldを読み取り、それに割り当て、好きなことを行うことができます。もちろん、そのメモリ位置にアクセスできる限り。
memarrayを取得することもできます
>>> memarray = (ctypes.c_char*memoryfieldlen).from_address(0x0A7F03E4)
これにより、memfieldのリストが表示されます。
更新:整数を取得したいということを読みました。この場合、もちろんctypes.c_intを使用します。一般的に:適切なctypeを使用します;)
于 2012-04-28T13:56:31.820 に答える
2
組み込みのctypesモジュールを試しましたか?それはあなたが必要なものをあなたに与えるべきであるmemset関数を提供します。
于 2012-04-28T13:53:12.443 に答える
1
UNIXでは、デバイスに物理メモリへのアクセスを試みてからopen()
、/dev/mem
オブジェクトのseek()
メソッドを使用してfile
、ファイルポインタを正しい場所に設定できます。次に、write()
メソッドを使用して値を変更します。数値を生の文字列としてエンコードすることを忘れないでください!
ただし、通常、root
このデバイスにアクセスできるのはユーザーのみです。
于 2012-04-28T13:56:46.727 に答える