(学习笔记_2011_07_03)__反汇编__一重for循环

来源:互联网 发布:淘宝直通车关键词 编辑:程序博客网 时间:2024/04/27 17:28
#include <iostream>


using namespace std;




int main()
{
00C51480  push        ebp  
00C51481  mov         ebp,esp  

00C51483  sub         esp,0D8h  

//将ebp压栈后再将esp的值赋给ebp...esp的值减去0d8h....0d8h的那段空间做什么呢?有216个字节....

00C51489  push        ebx  
00C5148A  push        esi  
00C5148B  push        edi  

00C5148C  lea         edi,[ebp-0D8h]  

//将ebp-0d8h的有效地址载入edi......edi的值现在应该和esp一样....

//只知道编译器会将一段区间清零...大小由编译器决定....

00C51492  mov         ecx,36h  

//这是循环的次数....36h翻译成十进制为100....

00C51497  mov         eax,0CCCCCCCCh  
00C5149C  rep stos    dword ptr es:[edi]  




for(int i = 0; i < 100; i++)
00C5149E  mov         dword ptr [i],0  
00C514A5  jmp         main+30h (0C514B0h)  
00C514A7  mov         eax,dword ptr [i]  
00C514AA  add         eax,1  
00C514AD  mov         dword ptr [i],eax  
00C514B0  cmp         dword ptr [i],64h  
00C514B4  jge         main+68h (0C514E8h)  

{
cout << "numbers" + i << endl;
00C514B6  mov         esi,esp  
00C514B8  mov         eax,dword ptr [__imp_std::endl (0C5A310h)]  
00C514BD  push        eax  
00C514BE  mov         ecx,dword ptr [i]  
00C514C1  add         ecx,offset string "numbers" (0C57830h)  
00C514C7  push        ecx  
00C514C8  mov         edx,dword ptr [__imp_std::cout (0C5A314h)]  
00C514CE  push        edx  
00C514CF  call        std::operator<<<std::char_traits<char> > (0C51140h)  
00C514D4  add         esp,8  
00C514D7  mov         ecx,eax  
00C514D9  call        dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (0C5A2F8h)]  
00C514DF  cmp         esi,esp  
00C514E1  call        @ILT+390(__RTC_CheckEsp) (0C5118Bh)  

}
00C514E6  jmp         main+27h (0C514A7h)  


int a = 0;
00C514E8  mov         dword ptr [a],0  


return 0;
00C514EF  xor         eax,eax  
}
00C514F1  pop         edi  
00C514F2  pop         esi  
00C514F3  pop         ebx  
00C514F4  add         esp,0D8h  
00C514FA  cmp         ebp,esp  
00C514FC  call        @ILT+390(__RTC_CheckEsp) (0C5118Bh)  
00C51501  mov         esp,ebp  
00C51503  pop         ebp  

00C51504  ret  




原创粉丝点击