我有一个第三方 dll,我想更改符号名称。这可能吗?我不想让竞争对手知道我的产品使用什么组件。我没有 dll 的源代码。
最佳答案
在链接和运行时将可执行文件与 dll 绑定(bind)需要符号表。它通常包含装饰函数名称和序数。可以只使用序数。如果您正在构建库,您可以定义 .def 文件来控制符号表。但如果这是预建的第 3 方库,可能很难走。当然一切皆有可能,但我怀疑你的努力是否值得。
如果您绝望了,我会尝试在十六进制编辑器中更 retrofit 饰函数名称中的一个字母,查找此函数的序数值,然后尝试使用带有此函数序数的 GetProcAddress。
关于c++ - 修改dll导出(符号表)。我想混淆函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1698428/