2

I have address of virtual function in export table , is it possible to get implementation function address, that makes whole logic of virtual ?


Code sample:

this is virtual function that goes to export table

class CORE_API FArchive
{
public:
    virtual ~FArchive()
    {}
    virtual void messageboxer(char* messagetext){}
};

and this is virtual function implementation

class FArchiveFileReader : public FArchive
{
public:

    void messageboxer(char* messagetext)
    {
        MessageBoxA(0, messagetext, "alert", MB_ICONERROR);
    }
};

So in export table goes only virtual - like that ?messageboxer@FArchive@@UAEXPAD@Z

If i go on that address(in memmory via debugger) i get this http://i.imgur.com/VuJITVl.png?1 - i dont see there nothing usefull, like jmp or call. and this http://i.imgur.com/wegPZfq.png?1 is where function implementation is, is it connected somehow ? so i can calculate it.

Or having virtual function address from export table - is nothing, in terms of getting address of function(with actual logic) ?

If so - can someone give me an simple and good article describing on how to get address of actual function(not virtual).

P.S. And sorry if i talk little strange, english isnt my common language, if you think that some place in my text is unclear, pls tell me where and i would try to explain better !

Hope someoe would help me

thx!

  • Is it possible to get Vtable index of the function using some info from Virtual function ? IF so - can someone explain me how to do that ? – LighFusion Nov 30 '15 at 19:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.