DWARF および ELF 情報を使用するプログラムで作業しています。Pin というツールを使用して別のプログラムにハマっています。「Y」プログラムで宣言されたグローバル変数からのアドレスを取得し、それを「X」と呼ぶ Pin モジュールにフックします。
これらのグローバル変数のアドレスを取得しています。残念ながら、それらを逆参照しようとすると問題が発生します。例(現在、私は手動で行っていることを行っているかどうかを確認しています):
char * limit, * address1;
for(address1 = (char *) 0x804A040, limit = address1 + bytesize; address1 < limit; address1++)
cout << *(address1) << "\n";
そのアドレスに格納されている変数をchar *
単語に取得する必要があります。この場合、2 つのポインターを逆参照する必要がありますか? アドレス、そしてそのアドレスにchar *
保存されている?
これは、変数を逆参照する場合は完全に機能しint
ますが、char ポインターまたは変数を逆参照しようとすると、non-ASCII
値が取得されます...