43E010
以下の逆アセンブリコードから、場所は文字列を保持する変数の場所であると推測できます(アセンブリコードのコメントのように)。
分解:
...
push offset loc_43E010
...
push offset aAllYourBaseAre ; "all your base are belong to us"
...
.rdata:00446074 aAllYourBaseAre db 'all your base are belong to us',0
これは、次のようなWin32アプリケーションからの逆アセンブリコードです。
class Foo {
public:
string mystring;
__declspec(dllexport) void foo();
};
void Foo::foo(){
printf("foo called");
}
int _tmain(int argc, _TCHAR* argv[])
{
Foo foo;
foo.mystring = "all your base are belong to us";
return 0;
}
この命令push offset loc_43E010
は、アドレス43E010がwin32実行可能ファイルのベースイメージからのオフセットであり、その場所が可変であることを示していますか?