Why are all symbol names visible in compiled MacOS Swift Application (Xcode 10) via Hopper disassembler?

321 Views Asked by At

Hope someone can help! I'm compiling an application with Xcode 10 + Swift 5, I've set all the options I've found online for mangle, stripping, reflection metadata, debug symbols, postprocessing etc.

Yet when I drop my compiled (release build) application onto Hopper, I can see ALL the names as I wrote them, no mangling occurring.

Can anyone help? How do I mangle these?

1

There are 1 best solutions below

3
CloudBalancing On

I think you are mixing a few concepts. What are you trying to achieve? “Hide” your code so it will be hard to reverse engineer it? In that case you should look into what is called obfuscation. There several tools and methods for that. https://github.com/rockbruno/swiftshield

https://medium.com/swift2go/increase-the-security-of-your-ios-app-by-obfuscating-sensitive-strings-swift-c915896711e6

https://syrion.me/blog/ios-strings-obfuscation-in-swift/