Objective-C Code Obfuscation

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

Спасибо

 Biranchi13 нояб. 2009 г., 07:41
Не позволяйте кому-либо понять ваш код. безопасность через неизвестность
 Chuck13 нояб. 2009 г., 09:52
Пожалуйста, скажи мне, что тышутите с этим разговором о безопасности, запутывая ваш исходный код ObjC. Я'Я немного устал, но этобезумие
 Greg Hewgill13 нояб. 2009 г., 06:40
В этом вопросе нет глагола.
 nall13 нояб. 2009 г., 07:07
какова ваша цель?
 Baxissimo12 дек. 2014 г., 19:37
Также обратите внимание, что для приложений с высоким профилем энтузиасты нередко просматривают все видимые символы в поисках подсказок о будущих функциях, которые находятся в процессе разработки, но еще не выпущены.
 Dave DeLong13 нояб. 2009 г., 06:48
Я думаю, что Биранки случайно вопрос.
 avocade13 нояб. 2009 г., 10:36
Безумие +1. Я надеюсь тыне продаем своим клиентамдостаточно безопасно решение здесь;)
 Chuck13 нояб. 2009 г., 07:19
Правда этогораздо понятнее использовать C API и писатьNSRect outputRect1, outputRect2; objc_msgSend_stret(&outputRect1, window, NSSelectorFromString(CFSTR("frame"))); objc_msgSend_stret(&outputRect2, window, NSSelectorFromString(CFSTR("contentRectForFrameRect:")), outputRect1); по сравнению с просто.[window contentRectForFrameRect:[window frame]];
 Dave Dopson01 янв. 2012 г., 00:27
обфускация только о безопасности. Это'больше о краже IP и о том, что нетрудно перепроектировать код (резко замедляет попытки взлома и мошенничества в играх и / или их пиратства).

Ответы на вопрос(2)

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

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
 Paul Shapiro15 апр. 2015 г., 00:59
что делает строка команды, которую вы включили?

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

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

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

когда вы обычно написали бы:

-(void) sendObjectToMyServer:(BOOL)coverupAnimation;
 Richard05 янв. 2011 г., 16:19
ты имеешь в видусупер задавать
 bbum30 апр. 2010 г., 19:28
Начало. Но все же выигралне очень помогает.

Ваш ответ на вопрос