当前位置: 代码迷 >> 汇编语言 >> printf反汇编代码分析,该怎么解决
  详细解决方案

printf反汇编代码分析,该怎么解决

热度:9849   发布时间:2013-02-26 00:00:00.0
printf反汇编代码分析
18:       printf("%d\n",u);
0040D473   mov         ecx,dword ptr [ebp-3Ch]
0040D476   push        ecx
0040D477   push        offset string "%d\n" (0042201c)
0040D47C   call        printf (0040d700)
0040D481   add         esp,8

后3句话怎么理解啊

------解决方案--------------------------------------------------------
c语言参数为从左到右压栈。

所以先把字符指针压栈, 后把格式符压栈后调用printf函数。
------解决方案--------------------------------------------------------
add esp,8   //平衡栈 

------解决方案--------------------------------------------------------
就是调用这个内存空间,从这个地址读去内存的信息的意思~
------解决方案--------------------------------------------------------
printf  是个符号。
当然也有他对应的地址。

符号代表了偏移量。

call + 偏移量  实现跳转。
  相关解决方案