【学习笔记】IDA

  1. 到达一个已知的反汇编位置:G。

  2. 栈帧是在程序的运行时栈中分配的内存块,专门用于特定的函数调用。

  3. 存在规定如何向函数传递参数的调用约定,但不存在规定函数的局部变量布局的约定。编译器的第一个任务是,计算出函数的局部变量所需的空间。编译器的第二个任务,则是确定这些变量是否可在CPU寄存器中分配,或者它们是否必须在程序栈上分配。至于具体的分配方式,既与函数的调用方无关,也与被调用的函数无关。

  4. 生成利用栈指针计算所有变量引用的函数需要编译器做更多工作,因为栈指针会频繁变化,编译器必须确保它在引用栈帧中的任何变量时始终使用了正确的偏移量。

  5. ebp+8就是指的第一个参数a。

    局部变量名称以var_为前缀,后面跟一个表示变量与被保存的帧指针之间距离(以字节为单位)的十六进制后缀。
  6.  

  7.  
posted @ 2014-11-25 18:46  土豆就是洋芋  阅读(108)  评论(0编辑  收藏  举报