0

私は最近、市場に出回っているいくつかのクローズド ソース RAM ダンプ アプリケーションに代わるオープン ソースとなるアプリケーションを書きたいと決心しました。主に学習体験として。

しかし、どこから始めればよいか完全にはわかりません (Windows マシンの場合)。カーネルレベルで実行されたルーチンを使用してメモリを反復処理する必要があると思いますが、スナップショットを作成している間、またはできるだけ少ないことをしている間、またはアクセスする間、マシンが何もしないようにする方法そのような雄羊、私は迷っています。

経験やアドバイスをお持ちの方は、非常に興味深いトピックです。

4

3 に答える 3

1

Windows の場合、必要なものはすべて dbghelp.dll にあります。ここを参照してください。

Minidump 関数を直接呼び出すか、すべての構造を手動でウォークすることができます (これはより多くの作業ですが、説明した教育演習に沿ったものです)。

プロセス制御については、基本的なデバッガーの作成に関する情報が役立つはずです。

于 2010-11-22T15:10:45.477 に答える
0

これは、プロセスを一時停止して再生できるようにするための簡単なチュートリアルです。 http://www.infernodevelopment.com/freeze-programs-using-win32-threads

見たいプロセスまたはウィンドウを見つけるのに役立ついくつかの関数を次に示します。

  1. GetWindowThreadProcessId
  2. EnumWindows
  3. タスクリスト
  4. GetCurrentProcess

メモリの読み取りには、次の API 関数を使用できます。

  1. OpenProcess
  2. ReadProcessMemory

それらのグーグル検索はあなたに良いスタートを与えるはずです

于 2011-07-26T15:11:17.923 に答える
0

役立つかもしれないGoogle Breakpadがあります。自分はまだ使っていませんが、

于 2010-11-22T15:28:25.307 に答える