zoukankan      html  css  js  c++  java
  • 导出函数与未导出函数

    导出函数:

      出现在导出表EAT里面的函数,可以供外部调用的函数。

      使用LordPE查看,或者使用GetProcAddress或者MmGetSystemRoutineAddress之类的函数获取地址,能获取到就是导出函数。

    非导出函数:

      仅供自己调用,可以根据函数的特征码来搜索,即硬编码(NeReadVirtualMemory)

    公开(文档化)函数:

        各种厂商提供的带有函数原型和文档的函数,带有参数说明。

      肯定是导出函数,但是导出函数可以是非公开函数,比如LdrLoadDll这个函数,能获取到地址但是msdn上没有说明。

    非公开(非文档化)函数:
      没有函数与原型和文档的函数,可以被GetProcAddress或者MmGetSystemRoutineAddress获取到地址,函数原型需要搜索或者逆向。

     

    未公开的函数(导出未文档化)已经对导出来,但是不能直接使用。

      使用方法:

      1. 在Ring0层使用MmGetSystemRoutineAddress加函数名称获得函数的地址。

      2. 在Ring3层使用LoadLibrary和GetProcessAddress(提前定义好原型)。

     

    未导出函数的使用比较麻烦,一般先获得函数所在模块的基地址,然后通过特征码去获取函数的地址。

  • 相关阅读:
    Android 基础-2.0 拔打电话号码
    Android 基础-1.0 按钮4种点击事件
    Android Studio 技巧备忘
    Android Studio Mac版快捷键
    face++静态库转为动态库之二
    Podfile语法参考
    iOS 高级去水印,涂鸦去水印
    vector 用法小例子
    UltraCompare 激活
    linux 日志查询
  • 原文地址:https://www.cnblogs.com/shercy/p/6672506.html
Copyright © 2011-2022 走看看