I have a third party dll that I want to change the symbol names. Is this possible? I dont want the competition to know what component my product uses. I don't have the source for the dll.
相关问题
- Sorting 3 numbers without branching [closed]
- How to compile C++ code in GDB?
- Why does const allow implicit conversion of refere
- How to know full paths to DLL's from .csproj f
- thread_local variables initialization
相关文章
- vs2017wpf项目引用dll的路径不正确的问题
- Class layout in C++: Why are members sometimes ord
- How to mock methods return object with deleted cop
- Which is the best way to multiply a large and spar
- C++ default constructor does not initialize pointe
- Selecting only the first few characters in a strin
- What exactly do pointers store? (C++)
- Converting glm::lookat matrix to quaternion and ba
Symbol table is required for binding executable with dll during linking and runtime. It usually contains decorated function names and ordinals. It is possible to use ordinals only. If you are building library you can define .def file to have a control over symbol tables. But if this is pre-built 3rd party library, it may be very hard way to go. Of course everything is possible but I doubt it is worth your efforts.
If you are desparate, I would try altering a letter in decorated function name in hex editor, lookup this function ordinal value and then try using GetProcAddress with ordinal of this function.
You might look at PE Explorer. I'm not sure it will do what you want, but maybe.
Not without modifying the binary, and if the DLL is signed then this would invalidate the signature.
Even if it isn't signed it would probably violate the license agreement that governs the use of the DLL.