From: Mike Hearn mh@codeweavers.com Subject: Re: Exporting symbols Date: Thu, 13 May 2004 10:39:42 +0100 Organization: CodeWeavers, Inc
On Wed, 12 May 2004 19:45:42 -0700, Dan Timis wrote:
After running strip on the .exe.so if we do nm -D all the symbols are still there. Is there any way to get rid of the ones that are not needed for dynamic linking?
Dmitry is right, ask on the binutils list. However if you hide symbols using the --retain-symbols-file trick or versioning scripts, you may be able to mangle the symbol table without breaking anything. Why not try it
- write a program to scan .symtab for the symbols you want to hide and
scramble the strings. I'd be interested to hear the results.
ELF was not really designed for code obfuscation like this though. I think nvidia use a preprocessor to mangle symbols in the final binary, if you ask them they may be willing to tell you how it's done (maybe even give you the code).
thanks -mike
Thanks Mike and Dmitry, I'll try the binutils list.
I might do code obfuscation. But, it may be safer for me to do something like:
#define MyClass F18Rsjkfgwe6 #define MyMethod aYSm48dYo49H
class MyClass { void MyMethod(cha *, bool);
etc.
rather than mess with the binaries.
Dan