Подтвердить что ты не робот

Objective-C Обфускация кода

Есть ли способ обфускации Objective-C кода?

Спасибо

4b9b3361

Ответ 1

Селекторы по-прежнему остаются открытым текстом - otool -o выгрузит все ваши объекты и методы, которые они определяют. Вы также можете выгружать все внутренние и внешние селектора, к которым обращаются в коде, с последующим однострочным. Метод обфускации и имена параметров на исходном уровне, вероятно, будут проще всего, хотя выполнение этого на уровне объекта также будет запутываться не зависящим от языка способом за счет некоторых манипуляций с таблицами компоновщиков.

otool -s __TEXT __objc_methname yourapp.app/executable_file |expand -8 | cut -c17- | sed -n '3,$p' | perl -n -e 'print join("\n",split(/\x00/,scalar reverse (reverse unpack("(a4)*",pack("(H8)*",split(/\s/,$_))))))'|less

Ответ 2

Цель c является прямым расширением C, поэтому все нормальные методы обфускации C работают. Если вы хотите работать с cocoa, однако, у вас будет немного препятствия, потому что имена методов довольно самодокументированы.

Для ваших собственных методов вам просто нужно самостоятельно документировать методы. например.

-(void) doSomethingInnocent:(BOOL)animated withObject:passwords;

когда вы обычно пишете:

-(void) sendObjectToMyServer:(BOOL)coverupAnimation;