我的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;
}
如果我知道在内存中有这个Win32的图像基地址:
Foo
类
实例偏移mystring
foo()
的函数地址是公平的
很容易,我能够做到这一点,甚至从另一个调用该功能
处理。但是,我不知道如何获得(至少阅读)
变量地址。我的想法是我将执行这个程序,然后其他一些程序获取该应用程序的图像基地址,然后尝试读取所述应用程序内的变量。