Polidea / ios-class-guard

Simple Objective-C obfuscator for Mach-O executables.
http://www.polidea.com
1.64k stars 241 forks source link

Static libraries #14

Closed wiktor closed 9 years ago

wiktor commented 9 years ago

Currently static libraries are not supported. I understand that securing apps (not libs) is more common use case.

Is it just a matter of configuring the tool? That is providing list of files to obfuscate (.h .m) along with public header files that should not be obfuscated as entry point?

ayufan commented 9 years ago

Yes, exactly. I guess that you can workaround it by building simple application that uses some of the static library functionality. Application should be compiled to not remove unused methods. Then you can use the ios-class-guard to build obfuscated symbol list. You should exclude all the public ones. Next you have to use generated symbol list to recompile static library. That way if done correctly all symbols in library should be obfuscated, excluding the public facing API.

One thing that you may need to do is to modify ios-class-guard to generate longer symbol names to avoid collision with other libraries.

wiktor commented 9 years ago

Thanks a lot!

truist commented 7 years ago

Hi, I know this issue is old, but I thought you might like to know that we just released a new version of PPiOS-Rename (which is a fork and evolution of ios-class-guard) that has support for obfuscating static libraries, at least in that there's a well-documented workaround that makes it possible to do so.