首页
社区
课程
招聘
[求助]CALL指令的一个困惑
发表于: 2005-5-31 15:57 5605

[求助]CALL指令的一个困惑

lee 活跃值
3
2005-5-31 15:57
5605
-------------------------------------------------------------------
首先说这个软件是用Delphi编的,问题在于这四个CALL

004DB034   |.  E8 CBFFFFFF call CDSnapsh.004DB004
004DB039   |.  E8 0AA4F2FF call CDSnapsh.00405448             ;  * Reference to: System.@_llmod;
004DB03E   |.  E8 65A3F2FF call CDSnapsh.004053A8             ;  EAX回改变.@_llmul;
004DB043   |.  E8 00A4F2FF call CDSnapsh.00405448  

他们的参数什么啊。。。怎么看啊。。。。。

-------------------------------------------------------------

004DB004   /$  53          push ebx
004DB005   |.  56          push esi
004DB006   |.  57          push edi
004DB007   |.  83C4 F8     add esp,-8
004DB00A   |.  8BD9        mov ebx,ecx                        ;  常数保存到EBX
004DB00C   |.  8BFA        mov edi,edx                        ;  假注册码的值放入EDI
004DB00E   |.  8BF0        mov esi,eax                        ;  机器码放入ESI
004DB010   |.  83FF 01     cmp edi,1
004DB013   |.  76 3C       jbe short CDSnapsh.004DB051        ;  小于等于1就跳走了。
004DB015   |.  8BC3        mov eax,ebx
004DB017   |.  33D2        xor edx,edx
004DB019   |.  52          push edx
004DB01A   |.  50          push eax
004DB01B   |.  8BC6        mov eax,esi
004DB01D   |.  33D2        xor edx,edx
004DB01F   |.  F7F3        div ebx                            ;  机器码除常数
004DB021   |.  8BC2        mov eax,edx                        ;  EDX放余数,EAX放商
004DB023   |.  33D2        xor edx,edx
004DB025   |.  52          push edx
004DB026   |.  50          push eax
004DB027   |.  8BC3        mov eax,ebx
004DB029   |.  33D2        xor edx,edx
004DB02B   |.  52          push edx
004DB02C   |.  50          push eax
004DB02D   |.  8BD7        mov edx,edi
004DB02F   |.  4A          dec edx
004DB030   |.  8BCB        mov ecx,ebx                        ;  减一16C5
004DB032   |.  8BC6        mov eax,esi
004DB034   |.  E8 CBFFFFFF call CDSnapsh.004DB004
004DB039   |.  E8 0AA4F2FF call CDSnapsh.00405448             ;  * Reference to: System.@_llmod;
004DB03E   |.  E8 65A3F2FF call CDSnapsh.004053A8             ;  EAX回改变.@_llmul;
004DB043   |.  E8 00A4F2FF call CDSnapsh.00405448             ;  * Reference to: System.@_llmod;
004DB048   |.  890424      mov dword ptr ss:[esp],eax
004DB04B   |.  895424 04   mov dword ptr ss:[esp+4],edx
004DB04F   |.  EB 11       jmp short CDSnapsh.004DB062
004DB051   |>  8BC6        mov eax,esi
004DB053   |.  33D2        xor edx,edx
004DB055   |.  F7F3        div ebx
004DB057   |.  8BC2        mov eax,edx
004DB059   |.  33D2        xor edx,edx
004DB05B   |.  890424      mov dword ptr ss:[esp],eax
004DB05E   |.  895424 04   mov dword ptr ss:[esp+4],edx
004DB062   |>  8B0424      mov eax,dword ptr ss:[esp]
004DB065   |.  8B5424 04   mov edx,dword ptr ss:[esp+4]
004DB069   |.  59          pop ecx
004DB06A   |.  5A          pop edx
004DB06B   |.  5F          pop edi
004DB06C   |.  5E          pop esi
004DB06D   |.  5B          pop ebx
004DB06E   \.  C3          retn

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 47147
活跃值: (20465)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
看看经过每一个CALL时的堆栈变化,如堆栈无变化则这些函数无参数。如堆栈有变化,则参数是在004DB034 这句前面的一些push xx语句。
2005-5-31 16:20
0
雪    币: 255
活跃值: (175)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
谢谢老大,我看看去~~~~~~~~~~~~~~~~
2005-5-31 16:28
0
雪    币: 255
活跃值: (175)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
004DB034   |.  E8 CBFFFFFF call CDSnapsh.004DB004
004DB034   |.  E8 CBFFFFFF call CDSnapsh.004DB004
004DB039   |.  E8 0AA4F2FF call CDSnapsh.00405448             ;  * Reference to: System.@_llmod;
004DB03E   |.  E8 65A3F2FF call CDSnapsh.004053A8             ;  EAX回改变.@_llmul;
004DB043   |.  E8 00A4F2FF call CDSnapsh.00405448

第一个CALL执行后堆栈无变化

第二、三、四个CALL执行后堆栈都会少两个数。

因此他们的参数应该都是2个吧。。。。
2005-5-31 16:35
0
雪    币: 241
活跃值: (21)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
注意DELPHI的函数调用约定和标准API的约定是不一样的。
2005-5-31 19:36
0
雪    币: 255
活跃值: (175)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
最初由 3kkk 发布
注意DELPHI的函数调用约定和标准API的约定是不一样的。


有什么区别呢???
2005-5-31 19:39
0
雪    币: 47147
活跃值: (20465)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
7
将这篇文章看懂你就明白了:
http://211.90.225.98:22366/view.asp?file=70
2005-5-31 20:18
0
游客
登录 | 注册 方可回帖
返回
//