查看 DLL 文件的内容

发布于 2024-09-13 09:49:43 字数 179 浏览 3 评论 0原文

是否可以查看 DLL 文件的内容和函数...
几次前我在玩 OlyDBG 然后我发现有一个选项可以查看 dll 的内容...
所以建议我有什么好的工具或软件...

并且假设我有一个名为“Python27.dll”的 DLL...
现在我需要查看这个 DLL 的内容所以我该怎么办...
谢谢...

is this possible to view contents and Functions of a DLL file...
few times ago i was playing with OlyDBG then i found there is option for viewing contents of dll...
so suggest me any good tool or soft for this...

and suppose i have a DLL named "Python27.dll"...
now i need to view the content of this DLL so what do i do...
thanx...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

秋日私语 2024-09-20 09:49:43

虽然使用起来并不简单(您需要了解可移植可执行文件(又名 PE 文件)的格式),pefile 似乎是一个很好的、强大的、多功能的工具,用于查看 DLL 或任何其他 PE 文件(我不会冒险使用它来更改这样的文件,尽管我认为它是一个其特点)。

例如,摘录模块的使用示例(并进行编辑以显示 dll 而不是他们使用的同样假设的文件名,这是一个 exe;-):

import pefile
pe =  pefile.PE(‘/path/to/pefile.dll’)
for exp in pe.DIRECTORY_ENTRY_EXPORT.symbols:
  print hex(pe.OPTIONAL_HEADER.ImageBase + exp.address), exp.name, exp.ordinal

根据我指向的维基页面,应该显示如下内容:

0x7ca0ab4f SHUpdateRecycleBinIcon 336
0x7cab44c0 SHValidateUNC 173
0x7ca7b0aa SheChangeDirA 337
0x7ca7b665 SheChangeDirExA 338
0x7ca7b3e1 SheChangeDirExW 339
0x7ca7aec6 SheChangeDirW 340
0x7ca8baae SheConvertPathW 341

While not trivial to use (you need to understand the format of a Portable Executable, aka PE, file), pefile seems a good, powerful and versatile tool for the purpose of viewing a DLL or any other PE file (I wouldn't risk using it to change such a file, although I see it's one of its features).

For example, excerpting the module's usage examples (and editing to show a dll instead of the equally hypothetical filename they use, which is an exe;-):

import pefile
pe =  pefile.PE(‘/path/to/pefile.dll’)
for exp in pe.DIRECTORY_ENTRY_EXPORT.symbols:
  print hex(pe.OPTIONAL_HEADER.ImageBase + exp.address), exp.name, exp.ordinal

should, according to the wikipage I pointed to, display something like:

0x7ca0ab4f SHUpdateRecycleBinIcon 336
0x7cab44c0 SHValidateUNC 173
0x7ca7b0aa SheChangeDirA 337
0x7ca7b665 SheChangeDirExA 338
0x7ca7b3e1 SheChangeDirExW 339
0x7ca7aec6 SheChangeDirW 340
0x7ca8baae SheConvertPathW 341
素染倾城色 2024-09-20 09:49:43

Dependency Walker 可能会提供您想要/需要的内容 - 它肯定会显示一个文件中的所有入口点DLL。

Dependency Walker may provide what you want/need -- it certainly shows all the entry points in a DLL.

冰火雁神 2024-09-20 09:49:43

在 Windows 上,DUMPBIN 提供一些 DLL 检查功能。例如:

DUMPBIN /EXPORTS C:\path\to\my.dll

将显示所有导出的定义。

On Windows, DUMPBIN provides some DLL inspection capabilities. For example:

DUMPBIN /EXPORTS C:\path\to\my.dll

will display all the exported definitions.

怀里藏娇 2024-09-20 09:49:43

我已经用 ctypes 做了一些工作,并在 Windows 中加载了 dll,但我不认为 DLL 有任何类型的内省。这确实不是什么大问题,因为 DLL 中的所有函数调用都是静态的。如果您尝试使用未记录的 DLL,您不仅需要知道函数的名称,还需要知道函数的参数。您必须对 DLL 进行逆向工程,这不是一个小任务。

所以,在我看来,我会说不。

I've done some work with ctypes, and loading dlls in windows, but I don't think DLL have any sort of introspection. This really isn't a big deal, because all of the function calls in DLLs are static. If your trying to use a undocumented DLL, you would not only need to know the names of the functions, but also the parameters of the functions. You would have to reverse engineer the DLL, no small task.

So, in my opinion, I would say no.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文