Polidea / ios-class-guard

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

not working for iOS Frameworks #33

Open deepkandpal opened 9 years ago

deepkandpal commented 9 years ago

Hi Team,

I tried obsficating the iOS framework using iOS guard.Its not working as symbols.h file is showing no data.Same way there is no values in JSON file also.

Note : I am able to obsficate the project if the target is .app but if my target is a .framework, then only the above issue is coming.

Please help.

junketjim commented 8 years ago

I get this too. It's because the framework is considered to be external - see:

- (void)willVisitObjectiveCProcessor:(CDObjectiveCProcessor *)processor {
    NSString *importBaseName = processor.machOFile.importBaseName;

    if (importBaseName) {
        NSLog(@"Processing external symbols from %@...", importBaseName);
        _external = YES;
    } else {
        NSLog(@"Processing internal symbols...");
        _external = NO;
    }
}

Your framework will have an importBaseName. The question is how this can be changed to support the obfuscating your own framework. I am guessing that the filename passed into ios-class-guard could be used to override the behaviour above. i.e. set _external = NO if the importBaseName is the same as the framework you're trying to obfuscate.

lin493369 commented 8 years ago

@junketjim Hi,I'm going to obfuscate .a static library project,but class-dump could not decompile the .a file(not like .app file),so I want obfuscate the source file in the project directly,but I could not find the way to change ios-class-guard obfuscate the source file.Could you help me some idea,I have obfuscated by this question two week!Thx a lot!

chendadk commented 8 years ago

@junketjim Hi, I have the same question. I want to obfuscate static library project directly. After bash obfuscate_project, everything seems ok in terminal. But I can not find symbols.h file . some other folders are not generated too. Could you help me?

truist commented 6 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.

RanaSaleh commented 3 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.

HIi, please advise if I need to use this library for sdks running on iOS 10 and above, wha should I do ? Thank you.