kam800 / MachObfuscator

MachObfuscator is a programming-language-agnostic Mach-O apps obfuscator for Apple platforms.
MIT License
521 stars 78 forks source link

Obfuscate methtype section using mangled class names #49

Closed kjamroz-bt closed 5 years ago

kjamroz-bt commented 5 years ago

Obfuscate methtype section using mangled class names

Entirely erasing methtype section causes problems for example with code utilizing NSMethodSignature. Format of methtype strings is not well documented (https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html#//apple_ref/doc/uid/TP40008048-CH100 - but this does not explain strings that I saw in binaries), according to the docs it is implementation-specific (https://developer.apple.com/documentation/foundation/nsmethodsignature)