2010-05-15 2 views
2

Есть ли способ декомпилировать двоичный файл из приложения IPhone. I jailbroke мой IPhone и был удивлен, обнаружив, что другие приложения открыты, чтобы их можно было скопировать. Итак, я экспортировал свою самую важную таблицу и закодировал ее в коде. Вместо того, чтобы загружать таблицу в массив из db, я только что сгенерировал код для заполнения массива и сохранил только самую базовую информацию о БД, так что отношения все еще работают. Взял время, но теперь отлично работает.Защита файлов на IPhone

Я просто задавался вопросом, могу ли я быть в безопасности, может ли кто-нибудь легко декомпилировать двоичный файл для приложения и извлечь данные. В Java легко декомпилировать файлы * .class, хотя это байт-код, где я предполагаю, что приложения iphone более низкие.

Я знаю, что IPhone sdk 4 может помечать файлы как безопасные. Кто-нибудь знает, может ли это быть отменено джейлбрейками или это блокировка unix?

+0

Мне было бы интересно узнать ответ на вопрос в части, касающейся * декомпиляции * двоичных файлов, которые до сих пор не были рассмотрены ни одним из ответов. Существуют ли какие-либо инструменты в настоящее время? – izb

ответ

0

Чтобы быть честным, Apple не смогла обеспечить кирпич. В начале iPhone iPhone был почти беспроблемным. Пользователи (читают хакеров :) имеют больше контроля над устройством, чем разработчики. Невозможно по-настоящему защитить контент на устройстве. Если используется шифрование, ничто не мешает злоумышленнику получить ключ. (Он контролирует все библиотеки и может перехватывать любой вызов функции, который ему нужен.)

Обычно разработчики отступают на Security Though Obscurity, и я не собираюсь развлекать эти идеи. Если есть данные на устройстве, хакер может и сделает его копию.

+0

Да, я переименовал все таблицы и поля. В одной таблице было много данных GPS, которые я вручную обнаружил, поэтому не хотел копировать.Я извлек все данные в этой таблице и сгенерировал код для заполнения NSDictionary, таблица хранится и запускается при запуске приложения. Я сохранил поле id заполненным, так что другие отношения все еще работают. если мне нужна строка в таблице, я нахожу идентификатор, а затем просматриваю его во внутреннем NSDictionary. кажется, работает нормально. Мое следующее приложение, безусловно, добавляет обходку (так непонятно, что я не уверен, как ее записать :)) в качестве части дизайна. –

1

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

0

Я jailbroke моего IPhone и был удивлен, обнаружив DBS другого приложения в ширине открыты для копирования.

Нет. В этом нет ничего плохого. Его нужно где-то хранить.

Итак, я экспортировал свою самую важную таблицу и закодировал ее в коде.

Плохой ход.

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

Другими словами:

код обычно не враждебен и украсть ваши товары. Единственная причина, по которой это произошло, - это то, что пользователь загрузил плохой код на телефон или удаленный эксплоит.

Смежные вопросы