【发布时间】:2021-10-01 05:48:40
【问题描述】:
我使用 IDA Pro 在返回 cocos2d::Image 对象指针作为响应的函数上设置了断点,如下面的屏幕截图所示。
但是,我完全不知道如何使用 IDAPython 打印出 Object 成员等。有没有办法做到这一点?文档并没有太大帮助,而且似乎只有检查类 C 结构的方法。
【问题讨论】:
标签: c++ reverse-engineering ida
我使用 IDA Pro 在返回 cocos2d::Image 对象指针作为响应的函数上设置了断点,如下面的屏幕截图所示。
但是,我完全不知道如何使用 IDAPython 打印出 Object 成员等。有没有办法做到这一点?文档并没有太大帮助,而且似乎只有检查类 C 结构的方法。
【问题讨论】:
标签: c++ reverse-engineering ida
使用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"
【讨论】: