-
-
一道新手例题没看明白
-
发表于:
2011-12-16 12:13
3640
-
static int a[3]={0x11,0x22,0x33};
int s=0,b[3];
for(in i=0;i<3;i++)
{
s+=a[i];
b[i]=s;
}
sub esp,0c
xor ecx,ecx
xor eax,eax
push esi
push edi
mov edi,[eax+407030] ;数组基址;此行为00401009
add eax,4
add ecx,edi ;s+=a[i]
cmp eax,0c
mov [esp+eax+4],ecx ;b[i]=s
jl short 00401009
执行到jl这句时eax可能的值有4和8,没有机会取0,取c不循环,结果只循环了2次不是3次?
[培训]科锐逆向工程师培训第53期2025年7月8日开班!