gpt4 book ai didi

winapi - 在 Windows 中查找未记录的 API

转载 作者:行者123 更新时间:2023-12-03 01:25:56 25 4
gpt4 key购买 nike

我很好奇如何在 Windows 中查找未记录的 API。

我知道使用它们所涉及的风险,但这个问题的重点是找到它们,而不是是否使用它们。

最佳答案

使用工具从共享库(例如 kernel32.dll 等 .dll)转储导出表。您将看到命名入口点和/或顺序入口点。一般来说,对于 Windows,命名的入口点是未损坏的(外部“C”)。您很可能需要查看一下汇编代码,并从堆栈帧(如果有)和寄存器使用情况中导出参数(类型、数字、顺序、调用约定等)。如果没有堆栈帧,则有点困难,但仍然可行。请参阅以下链接以获取引用:

  1. http://www.sf.org.cn/symbian/Tools/symbian_18245.html
  2. http://msdn.microsoft.com/en-us/library/31d242h4.aspx

查看诸如dumpbin之类的工具用于调查导出部分。

还有一些网站和书籍试图保留未记录的 Windows API 的更新列表:

  1. The Undocumented Functions
  2. A Primer of the Windows Architecture
  3. How To Find Undocumented Constants Used by Windows API Functions
  4. Undocumented Windows
  5. Windows API

编辑:这些相同的原理适用于多种操作系统,但是,您将需要替换用于转储导出表的工具。例如,在 Linux 上您可以使用 nm转储目标文件并列出其导出部分(除其他外)。您还可以使用gdb设置断点并单步执行入口点的汇编代码以确定参数应该是什么。

关于winapi - 在 Windows 中查找未记录的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/919051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com