問題タブ [readprocessmemory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - コールスタックと ReadProcessMemory
メソッドの戻りアドレスを読み取ろうとしていますが、別のメモリです。そのため、フレーム ポインタを取得し、戻り値の値を読み取ります。私が理解している限り、m_stackframe.AddrReturn.Offset に等しい値を取得することになっていますが、
- Esp をフレーム ポインター アドレスに追加すると、ReadProcessMemory は false を返します。
- 単純にアドレス フレーム オフセットを使用すると、間違った値が得られます。
Windowsでc ++を使用しています。何が問題なのか誰か教えてもらえますか? ありがとう :)
memory - 複数の値を同じメモリ アドレスに格納します。デリミタ?
私は Read- と WriteProcessMemory と、私が見つけた古いプラットフォーマー ゲームをいじっています。プレイヤーが新しいレベルに入るたびに、敵が作成され、それぞれのヘルス ポイント、座標などが設定されます。
(EAX は構造体のアドレスで、138 はヘルスへのオフセットです)
書き込む空きメモリがあるとすれば、それぞれの EAX の値を 1 つの同じ場所に格納する方法はありますか? ある種の区切り記号を使用するのが好きですか?
乾杯
c++ - メモリアドレスをintに変換します
メモリ内で実行されている実行可能ファイルからメモリアドレスを読み取り、それらのメモリアドレスを使用してPE構造をウォークしようとしています。
4バイトのchar配列をintと同等に変換する方法がわからないため、問題が発生しています。
これまでの私のコードは次のとおりです。
私が読み込んでいるアドレス(この場合は0xE0000000)は、PEヘッダーのオフセットです。読み取ったばかりのメモリアドレスを取得して、プロセスメモリから再度読み取るためのオフセットとして使用したいのですが、正しくintに変換する方法がわかりません。
どんな助けでも大歓迎です。
windows - プロセスメモリの始まりは何を意味しますか
プロセスメモリの読み方についてもっと学ぼうとしています。そこで、Firefox プロセスの「メモリ全体」を WinHex で開いたところ、オフセット 10000 から始まる次の 16 進値が表示されました。
私の質問は、人間がこれ以上の知識なしにこれを解釈することは可能ですか? これらはポインターですか、それとも値ですか? エンディアンなどとは別に、プロセスメモリに関して、異なるコンパイラで作成された異なるプログラムに共通するものはありますか? なぜ多くのゼロで始まるのですか? スペースの使用を開始するのは非常に奇妙な方法ではありませんか?
c# - プロセス メモリのイメージを取得する
私の目標は、プロセス ハンドルを受け取り、そのプロセスのメモリを表すバイト配列を返すメソッドを作成することです。ここに私が持っているものがあります:
ラッパー メソッドに引数として何を渡せばよいかわかりません。ahandle
と thebytes
は出力変数ですが、address
andはsize
どうでしょうか。このデータはどこから入手できますか?
.net - ReadProcessMemory への最速の方法は何ですか?
プロセスのメモリで null で終わる文字列のすべてのインスタンスを検索しようとしています。割り当てられたすべてのメモリ領域を VirtualQueryEx で列挙し、次に ReadProcessMemory でそれらをバイト配列に読み取り、このアルゴリズムを使用して検索します (ここで見つけたもので、著者は最速であると主張しています)。
動作しますが、遅すぎます。プロセスをメモリマップする方法や、メモリ内をより高速に検索する方法はありますか?
c++ - ReadProcessMemory は常に GLE で失敗します: 299
ReadProcessMemory関数が失敗し、GetLastError = 299である理由がわかりません。これが私のコードです。何か間違ったことをしていることはわかりません。
IDH_Buffer が割り当てられました。hProcess は非 NULL です
私のアプリは管理者として実行されており、読み込もうとしているアプリは標準のユーザーモードアプリケーションです。
教えてください。ありがとう
c++ - 他のプロセスで読み取り可能なメモリ量を確認する
ReadProcessMemory を使用して別のプロセスから読み取ることができるメモリの量を知る方法はありますか?
特定のアドレスから大量のメモリを読み取ろうとすると、エラー コード 299 が返され、0 バイトが読み取られます。
プロセスの割り当てられたバッファを超えて読み込もうとしているからだと思います。
c++ - C++ReadProcessMemoryをバイト配列に
ReadProcessMemoryを使用して動的な量のバイトを配列に読み込み、それを返そうとしています。私はそれを正しく動作させることができません。私の現在のコードは...
どんな助けでもいただければ幸いです。
c++ - 物理メモリから直接読み取るにはどうすればよいですか?
C または C++ (windows) では、物理 (仮想ではない) アドレスを指定して RAM を読み取るにはどうすればよいですか? つまり、仮想メモリ システム (mmu テーブル) を経由せず、1 つのプロセスに固有であることを意味します。
ReadProcessMemory
RAM から読み取るAPI (ほとんどのトレーナーが使用) は既に知っていますが、これは特定のプロセス専用です。
MSDN で検索したところ、Device\PhysicalMemoryがそのような可能性を示しているようですが、実際の例は見つかりませんでした。また、この機能は Windows サービス パックによって (脆弱性を修正するために) オフにされているようです。
WinHexがそれを行うので、それが可能であることはわかっています(「ツール」>「RAMを開く」>「物理メモリ」を選択した場合)。従来のファイルを開くときと同様に、0x00000000 から your_ram_size までの RAM コンテンツが表示されます。管理者権限が必要ですが、インストールするドライバーはありません (つまり、WinHex はユーザー モードから実行します)。
編集: os に関する追加情報。