私はデバッグ情報を扱っています。「デバッグ情報パーサー」のようなものを書こうとしています。これを行うためにDWARFおよびELFライブラリを使用していますが、メモリ空間の情報以外には何も提供していません。そのメモリ空間でデータを取得しようとしています. 私はプログラムに夢中です。私は Pin というツールを使用しているので、実際には他のプログラム内でコードを実行しています。その変数にアクセスできるのはそのためです。
アドレスへのポインターがあると仮定すると、そのアドレスと次の 4 バイト (たとえば) に格納されているすべてのデータを取得したいと考えています。
例として、アドレス 0xDEADBEEF があり、そのアドレスから始まる次の 4 バイトを調べて、データを読み取りたいとします (各バイトのポインターを逆参照します)。
私はCに比較的慣れていません。私がやろうとしていることは次のとおりです。
char * address = "0xDEADBEEF";
unsigned int bytesize = 4;
ptr = (void *) address;
ptr_limit = ptr + bytesize;
for(ptr; ptr < ptr_limit; ptr++)
cout << ptr;
これは完全に間違っている可能性があり、多くのコンパイルエラーが発生していることはわかっていますが、使用しようとしているロジックの一部を示すだけです...