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

printf反汇编代码分析解决方法

热度:9450   发布时间: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 + 偏移量 实现跳转。
  相关解决方案