“出口” 命名约定 - 它是如何工作的?
对于最终出现在 PE(可移植可执行文件)导出部分的名称适用哪些规则? 粗略地说,我看到的名称以下划线“_”开头,“?” 问号或“@”符号。 这些是什么意思,名字的其余部分又是什么意思?
另外 - 如何将命名约定反转为更有用的东西?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为您指的是“dll name mangling”
name mangling
它用于确保导出名称是唯一的
您可以指定一个 .def 文件,这样以后使用起来会更容易 简单
地说,一个 .def 文件是只是一个包含以下结构的文本文件
I think you are refering to "dll name mangling"
name mangling
It's used to make sure exports names are unique
You can specify a .def file which will make it easier to use afterwards
Simply put, a .def file is just a text file containing the following structure
另一件事:Jcl 包含另一个非常有用的函数来解码这些符号。
你可以在JclPeImage中找到它; 它称为 PeUnmangleName - 它是 UndecorateSymbolNameA/W WinAPI 的扩展。
One other thing : Jcl contains yet another very usefull function to decode these symbols.
You can find it in JclPeImage; It's called PeUnmangleName - which is an extension of the UndecorateSymbolNameA/W WinAPI.
在问这个问题之前我应该先看一下 - 因为我刚刚找到了一个答案:
它被称为“名称修改”,这里有一个解释它的链接:http://en.wikipedia.org/wiki/Name_mangling
很抱歉打扰您; 干杯!
I should have looked a little longer before asking this - as I just found an answer to this:
It's called 'name mangling', and here's a link explaning a bit about it : http://en.wikipedia.org/wiki/Name_mangling
My apologies for bothering you; Cheers!