首页
社区
课程
招聘
[求助]遇到这样的CALL 如何写?
发表于: 2015-1-18 21:46 4532

[求助]遇到这样的CALL 如何写?

2015-1-18 21:46
4532
004D4F09   > \A1 AC765D00   mov     eax, dword ptr [5D76AC]
004D4F0E   .  8B00                  mov     eax, dword ptr [eax]
004D4F10   .  8B40 08             mov     eax, dword ptr [eax+8]           ;
004D4F13   .  8945 F4             mov     dword ptr [ebp-C], eax       =<这里
004D4F16   .  A1 AC765D00    mov     eax, dword ptr [5D76AC]
004D4F1B   .  8B00                 mov     eax, dword ptr [eax]
004D4F1D   .  8B40 0C           mov     eax, dword ptr [eax+C]
004D4F20   .  8945 F0            mov     dword ptr [ebp-10], eax       =<这里
004D4F23   .  A1 AC765D00   mov     eax, dword ptr [5D76AC]
004D4F28   .  8B00               mov     eax, dword ptr [eax]
004D4F2A   .  8B40 04          mov     eax, dword ptr [eax+4]
004D4F2D   .  8945 EC          mov     dword ptr [ebp-14], eax       =<这里
004D4F30   >  8BC7             mov     eax, edi
004D4F32   .  E8 35A60000   call    004DF56C                         ;

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 154
活跃值: (221)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
什么怎样写?是用C写相同功能代码?
分析函数的两大条件,一个是参数个数及其类型,一个是函数调用约定。
2015-1-18 21:53
0
雪    币: 398
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
首先要用PEID来判断一下这个程序是C++语言还是DELPHI语言编译的?如果是C++的,那004D4F32这个CALL应该是无参数的函数调用,如果是DELPHI编译的,那应该是单一参数的调用;

对于这个CALL调用前,你标记的“=<这里”,应该是局部变量的赋值;
2015-1-18 22:27
0
雪    币: 5
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我也想知道

这个CALL 到底有多少参数
2015-1-18 22:28
0
雪    币: 534
活跃值: (535)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
二楼头好亮
2015-1-18 23:02
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习了一下
2015-1-19 00:13
0
雪    币: 7344
活跃值: (4044)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我是来看二楼头像的
2015-1-19 03:09
0
雪    币: 135
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
二楼的头像,让我想起经典美剧<修女也疯狂>。。。。
2015-1-19 03:29
0
雪    币: 195
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢回复,是Delphi写的
我一直以为是三个参数..
如何把这段代码写成Delphi 的汇编代码,
内部赋值的怎么弄
我一开始以为要这样写

asm
mov eax,常量
mov mov     dword ptr [ebp-C], eax       =<这里
mov eax,常量
mov mov     dword ptr [ebp-C], eax       =<这里
mov eax,常量
mov mov     dword ptr [ebp-C], eax       =<这里
mov     eax, edi
call    004DF56C   
end
  
后来发现 我标“=<这里” 的地方不会弄
2015-1-19 09:03
0
雪    币: 231
活跃值: (2631)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
10
push Eax
2015-1-19 09:38
0
雪    币: 398
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
004D4F09   > \A1 AC765D00   mov     eax, dword ptr [5D76AC] 这里存放的是一个结构体的指针;
004D4F0E   .  8B00                  mov     eax, dword ptr [eax]        这里得到结构体的首地址;
004D4F10   .  8B40 08             mov     eax, dword ptr [eax+8]    这里得到结构体中偏移8字节的内容;
004D4F13   .  8945 F4             mov     dword ptr [ebp-C], eax      这里将上一行得到的值赋给一个局部变量
004D4F16   .  A1 AC765D00    mov     eax, dword ptr [5D76AC]   这些与上面四行类似
004D4F1B   .  8B00                 mov     eax, dword ptr [eax]
004D4F1D   .  8B40 0C           mov     eax, dword ptr [eax+C]
004D4F20   .  8945 F0            mov     dword ptr [ebp-10], eax       =<这里
004D4F23   .  A1 AC765D00   mov     eax, dword ptr [5D76AC]
004D4F28   .  8B00               mov     eax, dword ptr [eax]
004D4F2A   .  8B40 04          mov     eax, dword ptr [eax+4]
004D4F2D   .  8945 EC          mov     dword ptr [ebp-14], eax       =<这里
004D4F30   >  8BC7             mov     eax, edi                                  将参数放入EAX寄存器
004D4F32   .  E8 35A60000   call    004DF56C                          调用CALL 004DF56C 类似CALL  004DF56C(EAX)
2015-1-19 12:40
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
我是来看2楼头像的
2015-1-19 13:00
0
雪    币: 225
活跃值: (309)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
画个图表:

0x5D76AC
   |----0xXXXX
          |--0x0
                  |--0x4 : 0xAAAA  ---> ebp-14
                  |--0x8 : 0xYYYY  ---> ebp-C
                  |--0xC : 0xZZZZ  ---> ebp-10
                  
EBP -> |                     |
       |  ret addr   |
-0x4  |  param1     |                  
-0x8  |  param2     |                  
-0xC  |  param3     |                  
-0x10 |  param4     |       

大概就是这个意思
2015-1-19 16:32
0
雪    币: 49
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
写CALL也要结合CALL内部一起看,要弄清到底有几个参数。
2015-1-19 16:42
0
游客
登录 | 注册 方可回帖
返回
//