zoukankan      html  css  js  c++  java
  • 逆向学习-IDA学习(二)

    GetFunctionFlags(ea)它可以用来检索关于函数的信息。

    FUNC_NORET

      这个标志表示某个函数是否有返回值,它本身的值是 1,下面是一个没有返回值的函数,注意它没有函数的最后并不是 ret 或者 leave 指令。

    FUNC_FAR

      这个标志非常少的出现,标志程序是否使用分段内存,它的值为 2。

    FUNC_USERFAR

      这个标志也非常少见,也很少有文档,HexRays 把它描述为“user has specified far-nessof the function”,它的值是 32.

    FUNC_LIB

      这个表示用于寻找库函数的代码。识别库函数代码是非常有必要的,因为我们在分析的时候一般将其跳过,它的值是 4。

      

    FUNC_STATIC

      这个标志作用在于识别该函数在编译的是否是一个静态函数。在 c 语言中静态函数被默认为是全局的。如果作者把这个函数定义为静态函数,那么这个函数在只能被本文件中的函数访问。利用静态函数的判定我们可以更好的理解源代码的结构。

    FUNC_FRAME

      这个标志表示函数是否使用了 ebp 寄存器(帧指针),使用 ebp 寄存器的函数通常有如下的语法设定,目的是为了保存栈帧。  

      

    FUNC_BOTTOMBP

      和 FUNC_FRAME 一样,该标志用于跟踪帧指针(ebp)。它作用是识别函数中帧指针是否等于堆栈指针(esp)。

    FUNC_HIDDEN

      带有 FUNC_HIDDEN 标志的函数意味着它们是隐藏的,这个函数需要展开才能查看。如果我们跳转到一个标记为 HIDDEN 的地址的话,它会自动的展开。

    FUNC_THUNK

      表示这个函数是否是一个 thunk 函数,thunk 函数表示的是一个简单的跳转函数。

  • 相关阅读:
    IOS-button属性edge
    IOS-简单WebView的使用
    IOS-绘制饼图等多种图形
    IOS-Prefix.pch 文件不起作用
    IOS-根据ip获取当前城市的编号
    在iis中调试asp.net程序
    asp.net跨域上传文件
    用jQuery的ajax请求一般处理程序返回json数据
    SQLServer分页
    Visual Studio发布项目到远程服务器的步骤
  • 原文地址:https://www.cnblogs.com/whitehawk/p/10806857.html
Copyright © 2011-2022 走看看