Есть ли способ выполнить обратный инжиниринг проекта Xcode из файла .app? - PullRequest
2 голосов
/ 06 сентября 2011

В теме все сказано.У меня есть файл .app здесь, но проект Xcode больше не доступен для меня.Есть ли способ извлечь файл .app и выполнить обратный инжиниринг проекта Xcode, чтобы я мог просмотреть код, использованный для его создания?

Ответы [ 4 ]

7 голосов
/ 06 сентября 2011
  • Сначала исходный код подписывается и шифруется.

  • Во-вторых, вам, вероятно, юридически запрещено расшифровывать этот источник, если вы находитесь в Соединенных Штатах, на Кубе, в Северной Корее и во многих других странах.Боюсь, это относится даже к вашему собственному коду, поскольку он был зашифрован инструментами Apple с ключом Apple.Проверьте это с юристом, парнем в черном со страшными словами и милым Porsche.

  • В-третьих, Objective-C - это скомпилированный язык, а LLVM, позволяющий оптимизировать,иметь реальное трудное время, возвращаясь к чему-нибудь слегка читабельному.Это не Java / C #.

  • В-четвертых, вам лучше быть действительно уверенными, что «файл приложения больше не доступен для меня» означает, что вы имеете законное право наисточник в некотором роде.Кража исходного кода влечет за собой серьезные штрафы, с штрафами, которые вы можете купить себе Porsche.Задайте вопрос юристу: p

2 голосов
/ 06 сентября 2011

Это было бы очень очень сложно.Там нет решения одним щелчком мыши.Однако вы можете посмотреть на class-dump и otool .Просто знайте, что это очень ручное усилие, вы все равно сами соберете все вместе.

2 голосов
/ 06 сентября 2011

По замыслу это не может быть сделано. Лучшее, что вы можете сделать, это запустить приложение и попытаться реконструировать его на основе функциональности. Кража исходного кода запрещена (и не только потому, что Apple так говорит).

0 голосов
/ 06 сентября 2011

Когда вы говорите, что «проект XCode больше не доступен для меня», тогда я предполагаю, что вы написали код или, по крайней мере, видели его.попробуйте декомпилировать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...