/proc/self/{map,mem} にポインタ位置をマッピングするには?

/proc/self/{map,mem} にポインタ位置をマッピングするには?

機密パラメータが使用後にアクティブメモリで0に設定されていることを確認するために、簡単なテストを作成しようとしています。これが私が考えるものです。

  1. アプリケーションで重要なパラメータ(バイト配列)のポインタ位置を取得する
  2. in範囲を調べるか、in範囲を調べることによって決定します[heap](これはまた、実行時に変数を配置する場所に注意を払うことを意味します)。[stack]/proc/self/map
  3. /proc/self/mem配列の値を開いて読み込みます。

問題は、アプリケーションによって報告されたポインタ位置と特定のアドレス範囲のマッピングが明らかに欠落していることです/proc/self/map。デフォルトでは、アプリケーションによって印刷されたポインタはヒープやスタックの範囲に属しません。

2022/10/19 09:59:39 the point to byte array 0xc0000a6060
2022/10/19 09:59:39 [heap] start 7c0000 stop 7e1000
2022/10/19 09:59:39 [stack] start 7ffcfa467000 stop 7ffcfa489000

ポインタ値を中間範囲にマッピングする方法は/proc/self/map

ベストアンサー1

おすすめ記事