Strip doesn't strip
Strip doesn't strip
- Subject: Strip doesn't strip
- From: Andreas Falkenhahn <email@hidden>
- Date: Fri, 23 Dec 2016 16:02:14 +0100
In my iOS project, I have set "Strip debug symbols during copy" to YES for release,
I have set "Strip linked product" to YES and I have also set "Strip style"
to "All symbols". The scheme is set to "Release". Xcode version is 8.2.
Yet, when opening the main executable with a hex editor, I can still see
the names of all global functions and variables. Why aren't those stripped
properly? I don't want to give any potential reverse engineers any hints about
symbol names but Xcode currently doesn't strip them at all even though it's
clearly configured to "Strip". Am I missing something here?
I wouldn't be surprised if Objective C couldn't strip all symbols because it has
some dynamically typed features like performSelector() being able to run methods
from an NSString source instead of a hard-coded name. So I wouldn't mind if
Objective C stuff couldn't be stripped. However, most of those globals I'm talking
of originate from plain C sources and these can definitely be stripped. My app has
a large platform-independent core and only a tiny layer of Objective C on top of
it. Still, Xcode's strip doesn't kill the global symbols from my C sources at all.
Even worse, examining the executable using a hex editor also reveals other
confidential information like path and user names and other stuff directly from
my build machine. Why is all that included in a *Release* build? I don't really
get it.... but the fact that enabling all strip options doesn't seem to do
anything makes me feel quite at unease because the consequence might be that there
are lots of apps around with the whole symbol name shebang and developers
who didn't examine the executables in a hex editor before releasing them might
be completely unaware of what is actually exposed to everybody in their software.
--
Best regards,
Andreas Falkenhahn mailto:email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden