GNU/Linux >> Linux の 問題 >  >> Linux

Cを使用して特定のメモリアドレスを取得する方法

問題の 1 つは、メモリが存在する物理アドレスではなく、仮想アドレスを取得していることです。次回起動するとき、マッピングはおそらく同じではありません。

これは Linux のカーネル モジュール内で確実に実行できますが、ユーザー空間で使用できる API はないと思います。

許可がある場合 (このマシンを再起動する場合は、このマシンの root になることができると思います)、/dev/mem を覗いて実際の物理レイアウトを確認できます。おそらく、値をサンプリングして再起動し、それらの値のうちいくつが保持されているかを確認する必要があります。


コールド ブート攻撃が実証されている同様のプロジェクトがあります。ソースコードが利用可能です。そこからインスピレーションを得ることができるかもしれません.

ただし、AFAIRは最初にOSをロードせずにメモリを読み取るため、OSのメモリ保護をいじる必要はありません。ブート後に OS によってメモリが上書きまたはクリアされるのを避けるために、これも試してみてください。

(サイトのビデオもチェックしてください。かなり印象的です;)


Linux
  1. KaliLinuxでmacchangerを使用してMACアドレスを変更する方法

  2. Linux で GREP を使用して特定のテキストを検索する方法

  3. C プログラムを使用してマシンの MAC アドレスを取得する方法は?

  1. C++ を使用して Linux で合計 CPU 使用率を取得する方法

  2. Cを使用してLinuxでCPUの数を取得するには?

  3. シェル スクリプトを使用して MAC アドレスを取得する

  1. Arpwatchを使用してLinuxでイーサネットアクティビティを監視する方法

  2. MSBuild で現在のオペレーティング システムを取得する方法は?

  3. コマンドラインから IP アドレスを取得するにはどうすればよいですか?