/proc/pid/mapsから実行可能ファイルの仮想メモリアドレスをダンプします。

/proc/pid/mapsから実行可能ファイルの仮想メモリアドレスをダンプします。

実行中の実行可能ファイルの仮想メモリアドレスをダンプしたいと思います。

これは私が実行しているコマンドです:./executable & cat /proc/$(pidof executable)/maps > maps.dump、そしてこれが私が受け取るエラーです:cat: /proc//maps: No such file or directory

私が使用した目的は、プロセスがアクティブになって情報をダンプするためにプロセスにアクセスしようとしたときにそのディレクトリがまだ存在するようにバックグラウンドで実行し続けることでしたが、明らかに&プロセスがないことを意味するnullを返したため、そうしませんでした。より長く走るもの。executable/proc/$(pidof executable)mapspidof executable

ベストアンサー1

シェルの機能を使用して、変数で始まった最後のプロセスのPIDを覚えておくことができます$!

#!/bin/bash
./executable &
cat /proc/$!/maps > maps.dump

あなたが得る場合radare2

#!/bin/bash
./executable &
r2 -d $!

Radare2シェルに移動します。

dmdm=見ている内容を理解するのに視覚的に役立つ「クラシック」メモリマップを取得するために実行しようとするコマンドは、デバッグdmdメモリマップをファイルにダンプします。

しかし、本当に役に立つことができます。たとえば、一時メモリを使用してマップされたすべてのメモリを保存し、プロセスdmsaメモリを使用して遊びながらプロセスと動作に与える影響をテストし、必要に応じてオプションで(dmr)または完全に()復元します。dmra

おすすめ記事