首页
社区
课程
招聘
[旧帖] 新手求:vc的string在反汇编中的如何理解 0.00雪花
2012-3-9 15:53 4399

[旧帖] 新手求:vc的string在反汇编中的如何理解 0.00雪花

2012-3-9 15:53
4399
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对象存在哪里了

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
liuyq 2012-5-20 09:28
2
0
如果我记得没错的话,ecx应该是类指针
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
liuyq 2012-5-24 23:38
3
0
晕死,答了还不给分。。。
游客
登录 | 注册 方可回帖
返回