VC6建Dialog对话框,IDA Ctrl+S双击rdata段,找到CDialog的虚函数表如下: .rdata:004151CC ??_7CAboutDlg@@6B@ dd offset ?GetRuntimeClass@CDialog@@UBEPAUCRuntimeClass@@XZ .rdata:004151CC ; DATA XREF: CAboutDlg__CAboutDlg+2Co .rdata:004151CC ; CDialog::GetRuntimeClass(void) .rdata:004151D0 dd offset j_CAboutDlg___scalar_deleting_destructor_ .rdata:004151D4 dd offset ?Serialize@CObject@@UAEXAAVCArchive@@@Z ; CObject::Serialize(CArchive &) .rdata:004151D8 dd offset ?AssertValid@CDialog@@UBEXXZ ; CDialog::AssertValid(void) .rdata:004151DC dd offset ?Dump@CDialog@@UBEXAAVCDumpContext@@@Z ; CDialog::Dump(CDumpContext &) .rdata:004151E0 dd offset ?OnCmdMsg@CDialog@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CDialog::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *) .rdata:004151E4 dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void) .rdata:004151E8 dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long) .rdata:004151EC dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *) .rdata:004151F0 dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void) .rdata:004151F4 dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void) .rdata:004151F8 dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *) .rdata:004151FC dd offset j_CAboutDlg__GetMessageMap .rdata:00415200 dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void) .rdata:00415204 dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void) .rdata:00415208 dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void) .rdata:0041520C dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void) .rdata:00415210 dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void) .rdata:00415214 dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void) .rdata:00415218 dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ; CCmdTarget::GetInterfaceHook(void const *) .rdata:0041521C dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *) .rdata:00415220 dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ; CCmdTarget::GetConnectionHook(_GUID const &) .rdata:00415224 dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void) .rdata:00415228 dd offset ?Create@CWnd@@UAEHPBD0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(char const *,char const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *) .rdata:0041522C dd offset ?DestroyWindow@CWnd@@UAEHXZ ; CWnd::DestroyWindow(void) .rdata:00415230 dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTA@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTA &) .rdata:00415234 dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint) .rdata:00415238 dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOA@@@Z ; CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *) .rdata:0041523C dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z ; CWnd::GetScrollBarCtrl(int) .rdata:00415240 dd offset ?WinHelpA@CWnd@@UAEXKI@Z ; CWnd::WinHelpA(ulong,uint) .rdata:00415244 dd offset ?ContinueModal@CWnd@@UAEHXZ ; CWnd::ContinueModal(void) .rda