Вопрос

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

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

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

РЕДАКТИРОВАТЬ: Моя статическая библиотека создана для iPhone/ARM.

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

Это было полезно?

Решение

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

otool -tV <library>

Отсюда они доходят до таких вещей, как ИДА Про, который поддерживает iPhone и очень удобен для такого рода работы.Между тем, я очень удивлен, что не видел переделки ОТХ для iPhone/ARM пока нет.Я не удивлюсь, если в конце концов появится хоть один.И, конечно же, есть GDB, если вы пытаетесь понять, как все происходит и какие данные находятся в различных точках.

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

Другие советы

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

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

ChanceGetsDecompiled = ExpectedGainFromBeingDecompiled / PopularityOfLibrary

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top