Polidea / ios-class-guard

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

Obfuscating categories #29

Open ghost opened 9 years ago

ghost commented 9 years ago

I have a class User and also with a category User (Additional).

In my obfuscate script, I've added -F "!User*" but it still obfuscates the category. Is there anyway to prevent the category from being obfuscated?

Thanks.

danielsotopino commented 9 years ago

Hi there, did you find any solution to this problem ?

neuralmer commented 8 years ago

@stevenhendrie and @danielsotopino,

In ios-class-guard, -F class filters do not apply to categories.

We (PreEmptive Solutions) forked iOS Class Guard, creating a new product, called PreEmptive Protection for iOS - Rename (or PPiOS-Rename), that fixes this issue and a number of others.

To get the behavior you're looking for, you can exclude categories with -F using the undecorated name of the category. For example, if the program reports something like Adding @category NSString+MyCategory, exclude the category with:

ppios-rename --analyze -F MyCategory path/to/your.app

Note that PPiOS-Rename changes the way the obfuscation process is integrated into the build (to make it easier to use), so you'll probably need to make changes to your build, and to pay attention to the new/changed argument names.

Please give it a try, and let us know how it works for you.