利用IDA和LLDB探索WebCore的C++类的继承关系

开刀的类名叫 PluginWidgetIOS,利用lldb可以得到:

(lldb) image lookup -r -s PluginWidgetIOS
7 symbols match the regular expression 'PluginWidgetIOS' in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/PrivateFrameworks/WebKit.framework/WebKit:
        Address: WebKit[0x0003a5a0] (WebKit.__TEXT.__text + 231680)
        Summary: WebKit`PluginWidgetIOS::~PluginWidgetIOS()        Address: WebKit[0x0003a5b0] (WebKit.__TEXT.__text + 231696)
        Summary: WebKit`PluginWidgetIOS::~PluginWidgetIOS()        Address: WebKit[0x0003a6f0] (WebKit.__TEXT.__text + 232016)
        Summary: WebKit`PluginWidgetIOS::platformLayer() const        Address: WebKit[0x0003a750] (WebKit.__TEXT.__text + 232112)
        Summary: WebKit`PluginWidgetIOS::willProvidePluginLayer() const        Address: WebKit[0x0003a7b0] (WebKit.__TEXT.__text + 232208)
        Summary: WebKit`PluginWidgetIOS::attachPluginLayer()        Address: WebKit[0x0003a810] (WebKit.__TEXT.__text + 232304)
        Summary: WebKit`PluginWidgetIOS::detachPluginLayer()        Address: WebKit[0x001335e0] (WebKit.__DATA.__data + 560)
        Summary: vtable for PluginWidgetIOS
其中有用的信息是:
Address: WebKit[0x001335e0] (WebKit.__DATA.__data + 560)
        Summary: vtable for PluginWidgetIOS
用IDA打开WebCore的静态库,goto(快捷键g) vtable所在的地址 0x1335e0,可以看到:
__data:001335E0 ; `vtable for'PluginWidgetIOS
__data:001335E0 __ZTV15PluginWidgetIOS db    0          ; DATA XREF: __nl_symbol_ptr:__ZTV15PluginWidgetIOS_ptr
上一篇:5个超炫的页面滚动 JavaScript 插件


下一篇:[Js插件]使用JqueryUI的弹出框做一个“炫”的登录页面