查看 DLL 文件的内容
是否可以查看 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
虽然使用起来并不简单(您需要了解可移植可执行文件(又名 PE 文件)的格式),pefile 似乎是一个很好的、强大的、多功能的工具,用于查看 DLL 或任何其他 PE 文件(我不会冒险使用它来更改这样的文件,尽管我认为它是一个其特点)。
例如,摘录模块的使用示例(并进行编辑以显示 dll 而不是他们使用的同样假设的文件名,这是一个 exe;-):
根据我指向的维基页面,应该显示如下内容:
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;-):
should, according to the wikipage I pointed to, display something like:
Dependency Walker 可能会提供您想要/需要的内容 - 它肯定会显示一个文件中的所有入口点DLL。
Dependency Walker may provide what you want/need -- it certainly shows all the entry points in a DLL.
在 Windows 上,DUMPBIN 提供一些 DLL 检查功能。例如:
将显示所有导出的定义。
On Windows, DUMPBIN provides some DLL inspection capabilities. For example:
will display all the exported definitions.
我已经用 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.