C++反汇编-)类,结构体,命名空间分析(三)
2014-11-24 11:48:53
·
作者:
·
浏览: 2
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.类和结构体内部公有函数反汇编源码一致,也印证了结构体内的函数与类里面的公有函数等效。