能力值:
( LV4,RANK:50 )
|
-
-
2 楼
这就是高级语言和汇编代码的对应关系
问为什么觉得没必要,变量总得占空间存储吧,既然占了空间就应该有地址有大小吧
如果改天一个变量对应着EBP - 8,LZ是不是也要问为什么呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我想知道EBP代表着什么
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
#include"stdio.h"
void main()
{
int var=1;
printf("var=%d\n",var);
__asm
{
mov dword ptr [ebp-4],14h //我知道是把10h即16传过去
}
int ret=var;
printf("var=%d\n",ret);
}
1: #include"stdio.h"
2: void main()
3: {
00401010 push ebp
00401011 mov ebp,esp
00401013 sub esp,48h
00401016 push ebx
00401017 push esi
00401018 push edi
00401019 lea edi,[ebp-48h]
0040101C mov ecx,12h
00401021 mov eax,0CCCCCCCCh
00401026 rep stos dword ptr [edi]
4:
5:
6: int var=1;
00401028 mov dword ptr [ebp-4],1
7: printf("var=%d\n",var);
0040102F mov eax,dword ptr [ebp-4]
00401032 push eax
00401033 push offset string "var=%d\n" (0042201c)
00401038 call printf (00401090)
0040103D add esp,8
8: __asm
9: {
10:
11: mov dword ptr [ebp-4],14h //我知道是把10h即16传过去
00401040 mov dword ptr [ebp-4],14h
12: }
13: int ret=var;
00401047 mov ecx,dword ptr [ebp-4]
0040104A mov dword ptr [ebp-8],ecx
懂了吧
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
ebp就是一个寄存器
一般利用ebp代替ESP来存取堆栈,mov dword ptr [ebp-4],10h ,也就是将10h 放到局部变量[ebp-4]中。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
哦谢谢楼上两位达哥的帮忙
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
[QUOTE=泥芭;7184871: #include"stdio.h"
2: void main()
3: {
00401010 push ebp
00401011 mov ebp,esp
00401013 sub esp,48h
00401016 push ebx
00401017 push esi
00401018 push edi
00401019 lea edi,[ebp-48h]
0040101C mov ecx,12h
00401021 mov eax,0CCCCCCCCh
00401026 rep stos dword ptr [edi]
4:
5:
6: int var=1;
00401028 mov dword ptr [ebp-4],1
7: printf("var=%d\n",var);
0040102F mov eax,dword ptr [ebp-4]
00401032 push eax
00401033 push offset string "var=%d\n" (0042201c)
00401038 call printf (00401090)
0040103D add esp,8
8: __asm
9: {
10:
11: mov dword ptr [ebp-4],14h //我知道是把10h即16传过去
00401040 mov dword ptr [ebp-4],14h
12: }
13: int ret=var;
00401047 mov ecx,dword ptr [ebp-4]
0040104A mov dword ptr [ebp-8],ecx...[/QUOTE]
这个是什么分析软件分析的呀?
|
能力值:
(RANK:170 )
|
-
-
8 楼
vc本身看反汇编~
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
学习了。 长知识了。
|
|
|