问题描述
我使用 IDA Pro 在返回 cocos2d::Image 对象指针作为响应的函数上设置了断点,如下面的屏幕截图所示。
但是,我完全不知道如何使用 IDAPython 打印出对象成员等。有没有办法做到这一点?文档并没有太大帮助,似乎只有检查类 C 结构的方法。
解决方法
使用 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"