问题标签 [getprocaddress]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9194 浏览

c++ - STATUS_STACK_BUFFER_OVERRUN 与 LoadLibrary

当我使用 LoadLibrary 加载 iphlpapi.dll 时,我的堆栈缓冲区溢出!我怎么解决这个问题?!

lib 函数的加载和执行工作正常,但有时我的程序会抛出 STATUS_STACK_BUFFER_OVERRUN 异常!(某些点:当我评论字符串操作时,错误会在几行之后发生)

当我不使用 LoadLibrary 和 GetProcAddress(static binding) -> 没有缓冲区溢出!

谢谢和问候,

leon22

0 投票
3 回答
2114 浏览

delphi - Delphi中获取DLL类过程地址

我有一个 DLL 文件,我需要从中获取类过程的内存地址。我正在获取 DLL 文件的句柄,但是当我使用 GetProcAddress 时,我无法获取该过程的地址。我已经为进程名称参数尝试了以下字符串:

在任何情况下,我都没有得到程序的内存地址。我很确定这个程序是公开的。

这样做的字符串格式是什么?声明一个指向外部过程的函数并稍后获取地址会更容易吗?像这样:

0 投票
1 回答
352 浏览

c++ - 调用 GetProcAddress 返回的函数时出现持续访问错误

这是我的代码。这似乎很简单,但不知何故它就是行不通。对函数的最终调用总是失败并出现访问错误。

mydll.dll 是第三方 dll。我没有源码,但是头文件中的函数原型如下:

mydll.dll 本身依赖于其他几个 dll,存储在目录“C:\MyDllDir”中,因此调用了 SetDllDirectory。

一些观察:

  • 我无法让 vanilla LoadLibrary 工作,但LoadLibraryEx参数似乎可以工作(在那个GetLastError返回0
  • 返回的 dll 的地址看起来很奇怪 ( 0x43900000)
  • 返回的函数地址GetProcAddress也是奇数 ( 0x43902b34),但令人欣慰的是 DLL Export Viewer 报告 Init 函数的偏移量为0x00002b34)
  • 调用返回的函数总是会引发访问错误。我已经在函数上尝试了_ccdecl,__stdcall等的每种组合,typedef但总是得到相同的错误。我试过有和没有extern C

其他数据:

  • 这段 c++ 代码是从托管环境中调用的
  • 我在 Windows 7、64 位上运行,但将非托管部分编译为 win32

我究竟做错了什么?我该如何调试呢?我已经尝试过依赖 walker 和 dll 导出查看器,一切似乎都很好。

0 投票
3 回答
1444 浏览

c++ - GetProcAddress 一个没有头文件的 Class 对象

应该可以从没有相应dll头文件的dll中获取类对象!?但是如何在头文件中没有已知类型的情况下为 GetProcAddress 制作类的 typedef?

你有例子吗?!

谢谢和问候,

leon22

0 投票
1 回答
782 浏览

c# - 关于从 .net dll (C#) 导出函数方法

数学.dll

在我的 exe 项目中,我想使用 Add() 函数,

示例 1 - 这是有效的

示例 2 - 这不起作用

示例 3 - 这不起作用

你能告诉我不工作的例子(2,3)的错误在哪里吗?谢谢。

0 投票
3 回答
67316 浏览

c++ - C++ 中的 GetProcAddress 函数

大家好:我已经在我的项目中加载了我的 DLL,但是每当我使用 GetProcAddress 函数时。它返回 NULL!我该怎么办?我在“MYDLL.dll”中使用这个函数( double GetNumber(double x) )

这是我使用的代码:

0 投票
2 回答
3336 浏览

windows-7 - GetProcAddress 不适用于 void 以外的函数

我对 GetProcAddress 有疑问:我编写了一个简单的 DLL,其中只有一个函数:

当我尝试获取函数的地址时,GetProcAddress 失败并显示 ErrorCode 127 (ERROR_PROC_NOT_FOUND)。但是,如果我使用 void 作为函数类型,它可以完美地工作。我真的不明白为什么它会这样。任何建议将不胜感激!

顺便说一句:DependencyWalker 显示该函数的名称确实是“Function”,没有应用任何更改。

0 投票
1 回答
5119 浏览

assembly - ASM:LoadLibrary 和 GetProcAddress

我第一次使用 ASM,在我继续之前,我需要知道我在写这篇文章时是否理解了所有内容。当前代码如下所示:

0xDEADBEEF 只是我稍后会修补的虚拟地址。有什么问题吗?=)

0 投票
1 回答
4775 浏览

c - GetProcAddress 返回 NULL

我必须使用 DLL 中的一个简单函数;我能够加载库,但 GetProcAddress 返回 NULL。我想我理解名字修饰,但也许我做错了什么。谢谢(代码如下,我会尽快添加所需的其他信息):

mydll.h

mydll.cpp

来自 main.cpp 的代码

0 投票
2 回答
1078 浏览

c++ - C ++如何动态加载第3方DLL文件

我需要将第 3 方 DLL 文件与我的应用程序集成,我只有 .DLL 和 DLL 的 .pdf 文档。

这是 dll 的 pdf:http: //www.whiteboxrobotics.com/Support/pdf/PC-BOT_dotNet_v1.0_documentation.pdf

我可以通过将 DLL 拖到工具箱中来在 Visual Studio 中加载 DLL,但是,我想知道在编码中是如何完成的。

由于我只有 DLL,我猜唯一的选择是动态加载,使用 LoadLibrary() 和 GetProcAddress()。

但这似乎很麻烦,而且我不知道如何加载任何接收一些自定义(枚举)参数的函数,例如在.pdf 中使用PCBOTEventArgs 的函数SendMessage(...)。 messageType 作为参数之一。

然而,通过设计视图加载 DLL 非常简单,并且可以提取整个 DLL。

这是为什么?

除了使用函数指针和 GetProcAddress() 还有什么别的吗?