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

Декомпиляция библиотек Objective-C

Я только что закончил библиотеку в Objective-C, которую я скомпилировал как статическую библиотеку для распространения.

Я хотел знать, какие шансы получить этот декомпилированный файл.

  • Знаете ли вы какое-либо программное обеспечение, которое может это сделать?
  • Если да, как я могу защитить меня лучше?

EDIT: Моя статическая библиотека создана для iPhone/ARM

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

4b9b3361

Ответ 1

Непонятно, от чего вы пытаетесь защитить себя. Да, это может быть обратное проектирование. Самый простой инструмент - otool, часть стандартного дистрибутива разработчика:

otool -tV <library>

От этого они сталкиваются с такими вещами, как IDA Pro, который поддерживает iPhone и очень хорош для такого рода работ. Между тем, я действительно удивлен, что я еще не видел доработки otx для iPhone/ARM. Я не удивлюсь, если увижу, что в конце концов появится шоу. И, конечно же, gdb, если вы пытаетесь выяснить, как все происходит и какие данные находятся в разных точках.

Если у вас есть более подробная информация о том, от чего вы пытаетесь защитить себя, могут быть некоторые целевые ответы. Помимо этого, читайте Чак.

Ответ 2

Если он выполняется, его можно декомпилировать. Objective-C особенно легко декомпилировать в читаемый код благодаря своим динамическим функциям. Если вы хотите сделать что-то немного сложнее, вы можете написать большую часть своего кода на простом C и лишить исполняемый файл - что, конечно же, имеет компромисс, затрудняющий управление вашим дизайном приложений. Но будьте честны с самим собой: если кто-то хочет взломать ваш код, вы не сможете их остановить. Крекеры имеют практически неограниченное количество времени и энтузиазма и будут действительно взволнованы любыми новыми усилиями, которые вы прилагаете, чтобы остановить их. Никто еще не разработал неподдающееся авторскому праву программное обеспечение, и крупнейшие корпорации в мире пробовали. Вы не будете делать лучше, чем они, особенно если вам нужно спросить об этом в Stack Overflow.

Потратьте время, затраченное на декомпиляцию, и используйте его, чтобы сделать ваш продукт лучше - у него будет намного лучший рентабельность.

Ответ 3

ChanceGetsDecompiled = ExpectedGainFromBeingDecompiled/PopularityOfLibrary

Хорошо, если вы ДЕЙСТВИТЕЛЬНО хотите знать, что я попытаюсь декомпилировать его самостоятельно. Вы не говорите, что это для PPC, Intel или ARM, что имеет значение. Вот декомпилятор для Intel i386 Decompiler

Я не знаю, что вы могли бы сделать (я не думаю, что есть много), чтобы ограничить это. Код всегда может быть обратным. Будьте счастливы, что не используете java или .net. Их декомпиляция настолько приятна.