能力值:
( LV4,RANK:50 )
|
-
-
2 楼
什么怎样写?是用C写相同功能代码?
分析函数的两大条件,一个是参数个数及其类型,一个是函数调用约定。
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
首先要用PEID来判断一下这个程序是C++语言还是DELPHI语言编译的?如果是C++的,那004D4F32这个CALL应该是无参数的函数调用,如果是DELPHI编译的,那应该是单一参数的调用;
对于这个CALL调用前,你标记的“=<这里”,应该是局部变量的赋值;
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我也想知道
这个CALL 到底有多少参数
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
二楼头好亮
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
学习了一下
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
我是来看二楼头像的
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
二楼的头像,让我想起经典美剧<修女也疯狂>。。。。
|
能力值:
( 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
后来发现 我标“=<这里” 的地方不会弄
|
能力值:
( LV5,RANK:60 )
|
-
-
10 楼
push Eax
|
能力值:
( 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)
|
能力值:
( LV4,RANK:50 )
|
-
-
12 楼
我是来看2楼头像的
|
能力值:
( 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 |
大概就是这个意思
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
写CALL也要结合CALL内部一起看,要弄清到底有几个参数。
|
|
|