假设我有一堂课:(对不起另一个问题,嗯)
class myClass
{
private:
int a;
public:
int GetA() { return a; }
};
如果GetA()
可能通常在 cpp 上定义,int myClass::GetA() { return a; }
我可以调试它并找到该函数的地址,但由于它在类中定义,我不能这样做。
在真正的问题中,我想知道它的地址,GetDirection()
但正如您所见,它没有任何地址,我尝试搜索调用它的指针,但没有任何汇编call
指令
如果它是在课堂之外定义的,我会这样做:
int callGetAFunction( DWORD* pointerToThatClass )
{
int retMe;
__asm
{
mov ecx, pointerToThatClass
mov eax, 0x00427110 //example address of myClass::GetA()
call eax
mov retMe, eax
}
return retMe;
}
现在我有了指向那个类的指针,但是没有GetA()
方法的地址,因为它是用它定义的,那我怎么能调用GetA()
方法呢?(实际指针是在 dll 上检索的,我试图GetA()
从那里调用)
int main()
{
void* pClass = FunctionThatReturnsAPointerToAMyClassObject();
}