-
-
[旧帖]
[求助]初学者提问!新手!很急!
0.00雪花
-
发表于:
2009-7-13 00:44
1106
-
[旧帖] [求助]初学者提问!新手!很急!
0.00雪花
第一次反汇编就遇到问题,帮忙啊!
push ebp //堆栈变址指针 ebp=1245120
mov ebp,esp //ebp指向栈顶 ebp=1245056
sub epb,44h //esp,44h栈顶减44 esp=1244988
push ebx //ebx压入栈底
push esi //将esi压入栈底
push edi //将edi压入栈底,此时esp为1244988-12=1244976
lea edi,[ebp-44h] 将偏移1244988给edi,此时edi与edp-44指向同一片地址
mov ecx,11h //ecx等于11
mov eax,0cccccccch //设置为int3号异常中断。
rep stos dword ptr[edi]
//rep 重复执行ecx中填写的次数
//stos 将eax中的值放入4字节同时edi+4
// int nGet=1;
mov dword ptr [ebp-4],1 //现在这里是1245052不是刚才已经设置过的int3号中断吗?不是覆盖掉了?
我自己的想法是这里如果异常了就触发这片存储域的int 3中断,1则不会存进去,是不是这样啊?
int3号中断又是什么时候被改的中断向量表呢?变成对应的异常信息的呢?
[课程]Android-CTF解题方法汇总!