哪些规则适用于最终出现在PE(可移植可执行文件)的导出部分中的名称? 粗略地说,我看到名字以'_'下划线开头,'?'问号或'@'符号。这意味着什么,以及名称的其余部分呢?
另外 - 如何将命名约定转换为更有用的命令?
答案 0 :(得分:3)
我认为你在提到“dll name mangling”
用于确保导出名称是唯一的
您可以指定一个.def文件,以便以后更容易使用
简单地说,.def文件只是一个包含以下结构的文本文件
LIBRARY "MyDll"
EXPORTS
exportFunction1
答案 1 :(得分:1)
另一件事:Jcl包含另一个非常有用的函数来解码这些符号。 你可以在JclPeImage中找到它;它被称为PeUnmangleName - 它是UndecorateSymbolNameA / W WinAPI的扩展。
答案 2 :(得分:0)
在问这个之前我应该再看一会儿 - 因为我刚刚找到了答案:
它被称为'名称重整',这里有一个链接解释了一下:http://en.wikipedia.org/wiki/Name_mangling
我为打扰你而道歉;干杯!