问题标签 [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.
c++ - STATUS_STACK_BUFFER_OVERRUN 与 LoadLibrary
当我使用 LoadLibrary 加载 iphlpapi.dll 时,我的堆栈缓冲区溢出!我怎么解决这个问题?!
lib 函数的加载和执行工作正常,但有时我的程序会抛出 STATUS_STACK_BUFFER_OVERRUN 异常!(某些点:当我评论字符串操作时,错误会在几行之后发生)
当我不使用 LoadLibrary 和 GetProcAddress(static binding) -> 没有缓冲区溢出!
谢谢和问候,
leon22
delphi - Delphi中获取DLL类过程地址
我有一个 DLL 文件,我需要从中获取类过程的内存地址。我正在获取 DLL 文件的句柄,但是当我使用 GetProcAddress 时,我无法获取该过程的地址。我已经为进程名称参数尝试了以下字符串:
在任何情况下,我都没有得到程序的内存地址。我很确定这个程序是公开的。
这样做的字符串格式是什么?声明一个指向外部过程的函数并稍后获取地址会更容易吗?像这样:
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 导出查看器,一切似乎都很好。
c++ - GetProcAddress 一个没有头文件的 Class 对象
应该可以从没有相应dll头文件的dll中获取类对象!?但是如何在头文件中没有已知类型的情况下为 GetProcAddress 制作类的 typedef?
你有例子吗?!
谢谢和问候,
leon22
c# - 关于从 .net dll (C#) 导出函数方法
数学.dll
在我的 exe 项目中,我想使用 Add() 函数,
示例 1 - 这是有效的
示例 2 - 这不起作用
示例 3 - 这不起作用
你能告诉我不工作的例子(2,3)的错误在哪里吗?谢谢。
c++ - C++ 中的 GetProcAddress 函数
大家好:我已经在我的项目中加载了我的 DLL,但是每当我使用 GetProcAddress 函数时。它返回 NULL!我该怎么办?我在“MYDLL.dll”中使用这个函数( double GetNumber(double x) )
这是我使用的代码:
windows-7 - GetProcAddress 不适用于 void 以外的函数
我对 GetProcAddress 有疑问:我编写了一个简单的 DLL,其中只有一个函数:
当我尝试获取函数的地址时,GetProcAddress 失败并显示 ErrorCode 127 (ERROR_PROC_NOT_FOUND)。但是,如果我使用 void 作为函数类型,它可以完美地工作。我真的不明白为什么它会这样。任何建议将不胜感激!
顺便说一句:DependencyWalker 显示该函数的名称确实是“Function”,没有应用任何更改。
assembly - ASM:LoadLibrary 和 GetProcAddress
我第一次使用 ASM,在我继续之前,我需要知道我在写这篇文章时是否理解了所有内容。当前代码如下所示:
0xDEADBEEF 只是我稍后会修补的虚拟地址。有什么问题吗?=)
c - GetProcAddress 返回 NULL
我必须使用 DLL 中的一个简单函数;我能够加载库,但 GetProcAddress 返回 NULL。我想我理解名字修饰,但也许我做错了什么。谢谢(代码如下,我会尽快添加所需的其他信息):
mydll.h
mydll.cpp
来自 main.cpp 的代码
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() 还有什么别的吗?