反汇编在万不得已的时候是不用不上的,因为大多数情况都可以通过调试源代码和打log完成。但是在一些比较极端的情况,比如第三方的库函数里crash,既没有源代码,也不能打log,在这种情况下,恐怕唯一的办法就是通过阅读反汇编代码找到一些线索。
1.基本知识点
C++对象在内存中的布局:
0x0039A470 00 21 40 00 --> vTable
0x0039A474 04 00 00 00 --> member 1
0x0039A478 1c 00 00 00 --> member 2
注意: 在x86机器上,数值编码是采用的大端序, 比如 0x0039A474 04 00 00 00 , 低地址端对应于数值的地位。所以member1的值是4。