Вопрос по защите приложения

273
13 октября 2017, 13:40
  1. Подскажите, пожалуйста, можно ли как-то определить в коде приложения, что его пытается декомпилировать декомпилятор, и в этом случае запустить функцию, в которой будет качаться, допустим, 1ТБ информации?
  2. Или декомпилятор ничего не скачивает, даже если в логике приложения это есть?
  3. Есть ли смысл запихивать в приложение ложный код, который нигде не используется, если есть, то какой примерно объём кода в МБ должен быть в приложении, чтобы отсечь хотя бы слабые машины от декомпила. Благодарю.
Answer 1
  1. Вообще никак нельзя определить, что приложение декомпилируется. Декомпилятор работает с кодом как с потоком байтов, а не исполняемой сущностью.

  2. Ничего. См. ответ 1.

  3. Это не поможет. Большинство декомпиляторов читают байт-код по частям, поэтому переполнить стак путём загрузки лишнего кода не получится. Тем более, как сказали выше, такие "пустышки" легко определяются.

Хотите защитить приложение? [Обфусцируйте][1] его. На Android, в частности, есть утилита [ProGuard][2].

[1] - https://ru.wikipedia.org/wiki/Обфускация

[2] - https://m.habrahabr.ru/post/112833/

Answer 2

Лучшая защита - не храните на мобильном устройстве логику, алгоритмы и важные данные.

READ ALSO
В чём разница между İnterface и Abstract класс

В чём разница между İnterface и Abstract класс

Добрый деньРаньше interface не имеел реализации и нам приходилось реализовывать абстрактные классы тд и тп

216
Контроллер не получает данные от websoket,a

Контроллер не получает данные от websoket,a

Пишу чат на вебсокетахИспользую sockjs

146