【发布时间】:2012-06-24 16:59:48
【问题描述】:
从下面的反汇编代码中,我可以假设位置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 可执行文件的基本映像的偏移量,并且它是一个变量位置?
【问题讨论】:
-
这条指令:“push offset loc_43E010”是否表示43E010是一个可变偏移量?
-
是something的偏移量。没有足够的信息来确切地知道它的偏移量。
标签: winapi assembly reverse-engineering