C++反汇编-)类,结构体,命名空间分析(三)

2014-11-24 11:48:53 · 作者: · 浏览: 6
00401617 CC INT3 00401618 CC INT3 00401619 CC INT3 0040161A CC INT3 0040161B CC INT3 0040161C CC INT3 0040161D CC INT3 0040161E CC INT3 0040161F CC INT3 00401620 >/> 55 PUSH EBP ; struct实现函数位置 00401621 |. 8BEC MOV EBP,ESP 00401623 |. 83EC 44 SUB ESP,44 00401626 |. 53 PUSH EBX 00401627 |. 56 PUSH ESI 00401628 |. 57 PUSH EDI 00401629 |. 51 PUSH ECX 0040162A |. 8D7D BC LEA EDI,DWORD PTR SS:[EBP-44] 0040162D |. B9 11000000 MOV ECX,11 00401632 |. B8 CCCCCCCC MOV EAX,CCCCCCCC 00401637 |. F3:AB REP STOS DWORD PTR ES:[EDI] 00401639 |. 59 POP ECX 0040163A |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX 0040163D |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] 00401640 |. 0345 0C ADD EAX,DWORD PTR SS:[EBP+C] 00401643 |. 5F POP EDI 00401644 |. 5E POP ESI 00401645 |. 5B POP EBX 00401646 |. 8BE5 MOV ESP,EBP 00401648 |. 5D POP EBP 00401649 \. C2 0800 RETN 8
小结:

1.命名空间定义的函数,在编译主函数之前,而类和结构体在主函数之后。

2.类和结构体内部公有函数反汇编源码一致,也印证了结构体内的函数与类里面的公有函数等效。