【问题标题】:Getting the Value of a CPP Object using IDA Pro and IDAPython使用 IDA Pro 和 IDAPython 获取 CPP 对象的值
【发布时间】:2021-10-01 05:48:40
【问题描述】:

我使用 IDA Pro 在返回 cocos2d::Image 对象指针作为响应的函数上设置了断点,如下面的屏幕截图所示。

但是,我完全不知道如何使用 IDAPython 打印出 Object 成员等。有没有办法做到这一点?文档并没有太大帮助,而且似乎只有检查类 C 结构的方法。

【问题讨论】:

    标签: c++ reverse-engineering ida


    【解决方案1】:

    使用print Dword(addr) 打印双字大小的成员,使用print Byte(addr) 打印字节大小的成员。 Result存储在eax中,所以你可以使用 从eax 获取成员地址的相对偏移量。从截图中打印所有成员:

    eaxVal = GetRegValue("eax")
    print Dword(eaxVal+45)
    print "\n"
    print Dword(eaxVal+51)
    print "\n"
    print Dword(eaxVal+52)
    print "\n"
    print Byte(eaxVal+184)
    print "\n"
    print Byte(eaxVal+188)
    print "\n"
    

    【讨论】:

    • 完美,谢谢。在我发布我的问题后,我确实弄清楚了一段时间,而且我一直在使用与你完全相同的方法。
    猜你喜欢
    • 2018-09-25
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 2016-10-26
    • 1970-01-01
    相关资源
    最近更新 更多