首页
社区
课程
招聘
[旧帖] [求助]一个关于函数调用时传递参数的问题 0.00雪花
发表于: 2008-2-29 16:33 3418

[旧帖] [求助]一个关于函数调用时传递参数的问题 0.00雪花

2008-2-29 16:33
3418
07B2F3F1    8B4D 14         mov     ecx, dword ptr [ebp+14]
07B2F3F4    51              push    ecx
07B2F3F5    8B55 10         mov     edx, dword ptr [ebp+10]
07B2F3F8    52              push    edx
07B2F3F9    8B45 0C         mov     eax, dword ptr [ebp+C]
07B2F3FC    50              push    eax
07B2F3FD    8B4D 08         mov     ecx, dword ptr [ebp+8]
07B2F400    51              push    ecx
07B2F401    8B4D FC         mov     ecx, dword ptr [ebp-4];   *
07B2F404    FF15 B8B6BA07   call    dword ptr [<&WndSys.FUN>; fun函数调用
//WndSys.FUN函数的反汇编代码
10028C0D >/$  55            push    ebp
10028C0E  |.  8BEC          mov     ebp, esp
10028C10  |.  51            push    ecx       ; 此处对ecx有疑问
10028C11  |.  894D FC       mov     dword ptr [ebp-4], ecx
10028C14  |.  837D 08 01    cmp     dword ptr [ebp+8], 1
10028C18  |.  75 28         jnz     short 10028C42
10028C1A  |.  8B4D FC       mov     ecx, dword ptr [ebp-4]
10028C1D  |.  E8 4CFFFFFF   call    XButton::GetBitmap
......

疑问:正常在调用函数时是通过堆栈来传递参数的,但在这个调用中, fun函数中却用到了ecx来传递数值。请问什么形式的c++或者c代码能产生这样的反汇编代码,是不是源代码中加入了汇编代码,还是编译器对代码进行优化产生了这样的代码
谢谢帮助解答问题,本人初学!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 4593
活跃值: (3572)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
2
[QUOTE=;]...[/QUOTE]
我记得C++的this指针多半是用ecx向里传的。正常编译就这个效果。
2008-2-29 18:44
0
游客
登录 | 注册 方可回帖
返回
//