blocklauncher插件吧 关注:2,541贴子:18,931
  • 11回复贴,共1

[授人以渔]如何反编译获得指定类的Vtable

只看楼主收藏回复

一楼给dalao@_静_雨_


来自Android客户端1楼2016-11-06 21:42回复
    首先打开ida把该做的都做了
    不知道怎么做的请参照上一个授人以渔。
    http://tieba.baidu.com/p/4391055386?share=9105&fr=share
    进入Exports界面。


    来自Android客户端3楼2016-11-06 21:45
    回复
      执行search-text
      输入vtable for'类的名字 大小写不限
      这里以Item为例,就是vtable for'item


      来自Android客户端5楼2016-11-06 21:46
      收起回复
        找到后双击


        来自Android客户端6楼2016-11-06 21:48
        回复
          ida会自动跳转到IDA View
          这些后面有着+1的都是虚函数了
          它们的顺序不可以颠倒的,我们反编译也就是为了拿到这个顺序。


          来自Android客户端7楼2016-11-06 21:49
          回复
            /*
            反编译后的函数是_ZN的形式
            我们怎么转化到地球人看得懂的形式呢?
            你可以试试这个控制台程序:
            输入对应的_ZN形式返回正常形式
            */
            #include <iostream>
            #include <cxxabi.h>
            #include <string>
            int main()
            {
            while(true)
            {
            std::string name;
            std::cin >> name;
            if(abi::__cxa_demangle(name.c_str(),0,0,0))
            std::cout << abi::__cxa_demangle(name.c_str(),0,0,0) << std::endl;
            std::cout << "---------------" << std::endl;
            }
            }


            来自Android客户端9楼2016-11-06 21:52
            收起回复