-
-
[旧帖]
新手求:vc的string在反汇编中的如何理解
0.00雪花
-
发表于:
2012-3-9 15:53
4706
-
[旧帖] 新手求:vc的string在反汇编中的如何理解
0.00雪花
004C6A69 |. 68 70286C00 push offset <sublime_.加密串?> ; ASCII "30819D300D06092A864886F70D010101050003818B0030818702818100D87BA24562F7C5D14A0CFB12B9740C195C6BDC7E6D6EC92BAC0EB29D59E1D9AE67890C2B88C3ABDCAFFE7D4A33DCC1BFBE531A251CEF0C923F06BE79B2328559ACFEE986D5E15E4D1766EA56C4E10657FA74DB0977C3FB7582B"...
004C6A6E |. 8D4C24 5C lea ecx,dword ptr ss:[esp+5C]
004C6A72 |. FF15 6C736B00 call dword ptr ds:[<&MSVCP90.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::bas... ; new String(char* s)
这里使用new string(char *s)创建了一个string 类
显式的传入参数是原C串的地址
push offset <sublime_.加密串?>
那么 lea ecx,dword ptr ss:[esp+5C]
似乎是隐式传入一个栈地址,通过 ecx传入的
但是call返回后发现eax,ecx里的值都没有改变
那么:
1) ecx传入的是什么?
2)生成的string对象存在哪里了
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课