c++ - 修改dll导出(符号表)。我想混淆函数名称

标签 c++ dll compiler-construction winapi linker

我有一个第三方 dll,我想更改符号名称。这可能吗?我不想让竞争对手知道我的产品使用什么组件。我没有 dll 的源代码。

最佳答案

在链接和运行时将可执行文件与 dll 绑定(bind)需要符号表。它通常包含装饰函数名称和序数。可以只使用序数。如果您正在构建库,您可以定义 .def 文件来控制符号表。但如果这是预建的第 3 方库,可能很难走。当然一切皆有可能,但我怀疑你的努力是否值得。

如果您绝望了,我会尝试在十六进制编辑器中更 retrofit 饰函数名称中的一个字母,查找此函数的序数值,然后尝试使用带有此函数序数的 GetProcAddress。

关于c++ - 修改dll导出(符号表)。我想混淆函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1698428/

相关文章:

c++ - 将 float 的 SIGILL 转换为固定的转换

java - 在 ANT 中编译失败的类列表

python - 从 .py 到 .exe

c - 在我的语法中得到转变/减少错误

c++ - ISO C++ 禁止声明无类型的 ‘multimap’

C++:用户定义类型数组错误

c++ - 使用 size_type 索引从 std vector 中删除会导致编译器错误?

c++ - 数组参数的完整性检查(strlen 等)

java - JNI Java 使用将对象作为参数的 DLL 函数

c++ - 使用 CImg 库时 Unresolved external symbol 错误