问题标签 [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.

0 投票
0 回答
207 浏览

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”:

0 投票
1 回答
391 浏览

windows - 确定程序是否使用 AnyCPU 构建

看完 这条评论

如果它内置在“任何 cpu”中,它将在 dumpbin 标头中显示为 32 位。

我想知道如何从 AnyCPU程序中分辨出普通的 32 位程序。如果可能的话,我宁愿从命令行执行此操作。我试过了

在每种类型的程序上,但无法以这种方式区分它们。

0 投票
1 回答
259 浏览

ollydbg - OllyDBG 和 Dumpbin 不提供相同的反汇编

我正在尝试反汇编 ntdll.dll 来查看一些 Native API 库。我在 OllyDBG(通过使用 loaddll.exe)和使用带有 /disasm 选项的 dumpbin 上都进行了尝试。

似乎两个程序的输出非常不同。首先,内存地址不匹配,行数也不匹配。此外,函数调用也不相同。

我在这里做错了吗?在这两种情况下,我实际上看到了什么。我以为我会看到两个部分都显示相同的代码。

0 投票
1 回答
225 浏览

c - dumpbin 为静态库报告错误的目标体系结构

我不明白为什么在 Visual Studio 命令行上执行以下命令时,dumpbin 返回 x64:

这是在Cygwin 32位版本下编译的GMP库,构建配置如下:

构建系统成功编译并构建了指定主机的所有文件。然而,dumpbin 仍然报告 .a 或 .lib 适用于 64 位架构。

请注意,输出静态库是 libgmp.a,但我将其扩展名更改为 .lib 并将其与我的 Visual Studio 项目链接,没有任何问题。

另一个重要注意事项:将 libgmp.lib 与 32 位程序链接很好,并生成一个 PE32 文件,如 CFF Explorer 报告的那样。

这是一个垃圾箱解释错误,还是我错过了一些重要的东西?

0 投票
0 回答
190 浏览

debug-symbols - 如何访问库的符号表,查找例程符号名称

我需要识别链接到 OpenSSL 库的 linux 可执行文件中使用的加密例程的地址。如何访问 openssl 符号表?

如何从 openssl cyptolib 中检索上述信息?

谁能帮我解决这个问题?

0 投票
1 回答
9463 浏览

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 类型来说还不够好。

0 投票
1 回答
221 浏览

c++ - DLL 函数名称与导出的不同

我正在使用其他人使用 c++ 和 matlab 开发的程序。我有两者的源代码,但我不知道发生了什么......

Matlab 使用类似这样的方法调用从 c++ 生成的 dll:

我期待在 dll 导出中看到myCustomCppFunction,但我找不到它。

当我运行dumpbin命令时,我收到如下信息:

所以,

myCustomCppFunctionWithADifferentName != myCustomCppFunction

DLL 导出的函数名称与我的 matlab 调用的函数名称不同。而且我不是在谈论混乱的名字,两个名字都是 100% 不同的,比如“苹果”和“香蕉”。:-)

不知何故,一切正常!但是如何?!?

在 Matlab 中,我还运行了哪个命令向我确认调用的函数来自我正在调查的 DLL....

任何线索?

0 投票
1 回答
1442 浏览

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

概括

0 投票
0 回答
122 浏览

c++ - RUNDLL32 是否可以访问 Windows 2012 的“开始菜单”或“设置”菜单?

当我在终端/RDP 会话上使用 Windows 2012 时,我很难启动“设置”菜单(重新启动或关闭)或单击“开始”菜单(需要将鼠标悬停在角落)

问题是当我使用 RDP、桌面共享或其他远程解决方案时,我不能只按 windows 键。

我想创建一个快捷方式来启动“搜索所有程序”或“设置”并将其放在桌面或任务栏上。过去我做过类似于 RunDLL32 的事情。为了自定义它,我经常从 C++ SDK 运行 DUMPBIN。下面是桌面窗口管理器的转储,它是我关闭所有应用程序时剩下的少数几个运行的东西之一。

问题

是否有可能,或者我怎样才能让 Windows 2012 通过 RunDLL 语句或等效语句打开稍微隐藏的设置或“开始菜单”?

0 投票
1 回答
3394 浏览

c# - 为什么 dumpbin 不显示某些 DLL 的功能?

这是一个项目rawinput_latest.zip

目标框架:.Net 4

输出类型:类库

构建解决方案创建 dll 文件。

dumpbin /exports RawInput.dll的输出

为什么 dumpbin 不显示 RawInput.dll 的功能?我可以在另一个项目中使用 dll 吗?