ここから本文です

PC内のメモリのとある番地(16進数)を強制的に書き換える方法はないでしょうか?

fbi********さん

2020/7/1100:50:31

PC内のメモリのとある番地(16進数)を強制的に書き換える方法はないでしょうか?

プログラミングのどのような関数を使えばいいのか、もしくはそういうフリーソフトがあったら教えてください

WIN10 64bit

閲覧数:
50
回答数:
4

違反報告

ベストアンサーに選ばれた回答

oto********さん

2020/7/1321:06:51

「とある番地」というのが物理(論理)メモリアドレスの事であれば、無理と思ってください。
仮想メモリの事であれば、WriteProcessMemoryが使えるかもしれません。仮想メモリはプロセス毎に割り当てられるために他のプロセスが使用しているメモリのアドレスと、書き換えようとするプロセスのアドレスは同じメモリを指していませんので、書き換える相手プロセスのハンドルが必要です。

  • oto********さん

    2020/7/1321:08:12

    うさみみはたぶんWriteProcessMemoryつかってるんだろうな。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2020/7/17 08:32:07

皆様詳しくありがとうございました

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

sheephumanさん

2020/7/1114:02:10

うさみみハリケーン(https://www.vector.co.jp/soft/win95/prog/se375830.html)なんて定番じゃないですかね。
使い方 https://blog.azarashi-server.0t0.jp/?p=72

プロフィール画像

カテゴリマスター

あみやさん

2020/7/1110:19:02

メモリ空間に自由にアクセスできるリアルモードであれば、関数すら不要でコレだけでできます。

unsigned char *x = とある番地;
*x = 書き込みたい内容;

ただし、Windows10の様な、プロテクトモードで動作するOSの上では、
メモリは仮想化されており、特権レベルを持たない一般プログラムが直接物理アドレスを指定してのアクセスは行う事はできません。
上記のような内容を実行しても、それはあくまでそのプログラム固有のメモリ空間に対するアクセスとなり、
それが実際にどの物理アドレスになるかは不明です。
また、プロテクトモードにおいては、一般プログラムは割り当てられたメモリ空間の外部にアクセスする事はできません。

kon********さん

2020/7/1108:09:21

ユーザーモードのソフトは無関係なメモリのアクセスは禁止されてる。アクセスできるのは自分用のデータメモリエリヤだけ。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる