问题标签 [dumpbin]
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++ - 如何导出干净的“未损坏”函数名称?
我正在尝试导出一个完全干净的函数名称,这是因为我需要在 GetProcAddress (第二个参数)中使用它。我知道这是可能的,就像您针对 Kernel32 测试 dumpbin 一样,它将显示干净的函数名称。
我环顾四周发现了许多“解决方案”,并且我已经将我的名字从乱码变成了:
1 0 00001810 SomeFunction = _SomeFunction
但是我需要它看起来像:
1 0 00001810 某功能
这将允许我从 GetProcAddress 函数调用它,因为我无法让它与“Mangled”名称一起使用。
这是我定义它的方式:
使用模块定义文件,它没用......我得到了一个完全错误的名字。使用这种方式,我几乎可以得到它,但是“_”阻止 GetProcAddress 将我的函数名称解析为地址。
模块定义输出:
1 0 00001810 SomeFunction = ?SomeFunction@@YAXPAX@Z (void __cdecl SomeFunction(void *))
编辑:(如果你的意思是上面的功能......它只是一个消息框MessageBoxA()......那里不可能有任何问题。)
GetProcAddressLine:
完整的“GetProcAddress”:
ollydbg - OllyDBG 和 Dumpbin 不提供相同的反汇编
我正在尝试反汇编 ntdll.dll 来查看一些 Native API 库。我在 OllyDBG(通过使用 loaddll.exe)和使用带有 /disasm 选项的 dumpbin 上都进行了尝试。
似乎两个程序的输出非常不同。首先,内存地址不匹配,行数也不匹配。此外,函数调用也不相同。
我在这里做错了吗?在这两种情况下,我实际上看到了什么。我以为我会看到两个部分都显示相同的代码。
c - dumpbin 为静态库报告错误的目标体系结构
我不明白为什么在 Visual Studio 命令行上执行以下命令时,dumpbin 返回 x64:
这是在Cygwin 32位版本下编译的GMP库,构建配置如下:
构建系统成功编译并构建了指定主机的所有文件。然而,dumpbin 仍然报告 .a 或 .lib 适用于 64 位架构。
请注意,输出静态库是 libgmp.a,但我将其扩展名更改为 .lib 并将其与我的 Visual Studio 项目链接,没有任何问题。
另一个重要注意事项:将 libgmp.lib 与 32 位程序链接很好,并生成一个 PE32 文件,如 CFF Explorer 报告的那样。
这是一个垃圾箱解释错误,还是我错过了一些重要的东西?
debug-symbols - 如何访问库的符号表,查找例程符号名称
我需要识别链接到 OpenSSL 库的 linux 可执行文件中使用的加密例程的地址。如何访问 openssl 符号表?
如何从 openssl cyptolib 中检索上述信息?
谁能帮我解决这个问题?
c# - PInvoke 签名与非托管目标签名不匹配
我正在尝试为 modbusm.dll (win-tech.com/html/mbusocx.htm) 创建一个包装 C# 文件,我为此使用了 dumpbin 输出。
文件 modbusm.dll 的转储
文件类型:DLL
部分包含 modbusm.dll 的以下导出
概括
我的 C# 包装器是
当我运行代码时
在视觉工作室中,我遇到了异常
对 PInvoke 函数 'TestApp!TestApp.MbMasterV7::ConnectModbusTCP' 的调用使堆栈失衡。这可能是因为托管 PInvoke 签名与非托管目标签名不匹配。检查 PInvoke 签名的调用约定和参数是否与目标非托管签名匹配。
我已经尝试了所有调用约定并得到相同的错误。可用于 modbus 协议的 .Net 库对于我正在使用的新 plc 类型来说还不够好。
c++ - DLL 函数名称与导出的不同
我正在使用其他人使用 c++ 和 matlab 开发的程序。我有两者的源代码,但我不知道发生了什么......
Matlab 使用类似这样的方法调用从 c++ 生成的 dll:
我期待在 dll 导出中看到myCustomCppFunction,但我找不到它。
当我运行dumpbin命令时,我收到如下信息:
所以,
myCustomCppFunctionWithADifferentName != myCustomCppFunction
DLL 导出的函数名称与我的 matlab 调用的函数名称不同。而且我不是在谈论混乱的名字,两个名字都是 100% 不同的,比如“苹果”和“香蕉”。:-)
不知何故,一切正常!但是如何?!?
在 Matlab 中,我还运行了哪个命令向我确认调用的函数来自我正在调查的 DLL....
任何线索?
visual-studio-2012 - dumpbin 命令未在 dll 中列出函数名称
我有一个在 VB.Net 中开发的 DLL。我试图从我的 vc++ 代码中调用它的函数。dll 已使用 LoadLibrary 函数成功加载。但是当我尝试调用 dll 中的任何函数时,它会给出一个空指针异常。
我使用了 dumpbin 命令来确认我的 dll 中的函数参数。但它没有列出任何功能。可能是dll有问题还是dumpbin只支持几个dll?请帮忙!
C:\Program Files (x86)\Microsoft Visual Studio 11.0>dumpbin ECR.dll Microsoft (R) COFF/PE Dumper Version 11.00.51106.1 版权所有 (C) Microsoft Corporation。版权所有。
转储文件 ECR.dll
文件类型:DLL
概括
c++ - RUNDLL32 是否可以访问 Windows 2012 的“开始菜单”或“设置”菜单?
当我在终端/RDP 会话上使用 Windows 2012 时,我很难启动“设置”菜单(重新启动或关闭)或单击“开始”菜单(需要将鼠标悬停在角落)
问题是当我使用 RDP、桌面共享或其他远程解决方案时,我不能只按 windows 键。
我想创建一个快捷方式来启动“搜索所有程序”或“设置”并将其放在桌面或任务栏上。过去我做过类似于 RunDLL32 的事情。为了自定义它,我经常从 C++ SDK 运行 DUMPBIN。下面是桌面窗口管理器的转储,它是我关闭所有应用程序时剩下的少数几个运行的东西之一。
问题
是否有可能,或者我怎样才能让 Windows 2012 通过 RunDLL 语句或等效语句打开稍微隐藏的设置或“开始菜单”?
c# - 为什么 dumpbin 不显示某些 DLL 的功能?
这是一个项目rawinput_latest.zip
目标框架:.Net 4
输出类型:类库
构建解决方案创建 dll 文件。
dumpbin /exports RawInput.dll的输出
为什么 dumpbin 不显示 RawInput.dll 的功能?我可以在另一个项目中使用 dll 吗?