Как стать автором
Обновить

Комментарии 20

И всё это обходится банальным Magisk (ну ладно, отладку и usb он не спрячет, но рут приложение не найдёт, зато пройдёт SafetyNet).


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

Спасибо за отзыв. Ознакомлюсь с этими программами. Не знал про них

Да, отличная утилита, плюс ещё хороша systemless модулями.

Спасибо большое. Обязательно ознакомлюсь.

Я думаю, когда Magisk наберёт популярность, сравнимую с chainfire SuperSU, будут прицельно его детектировать.
В том то и дело, что он systemless (ставится в boot, само приложение может перепаковываться под непонятную белиберду). system раздел не трогается, dm-verify проходит, safetynet проходит — его *мягко говоря* трудно задетектить, если не сказать, что невозможно.
Это так. Но boot разве не доступен приложениям на чтение? Можно распаковать initramfs и найти там следы Magisk.
Но boot разве не доступен приложениям на чтение?

Конечно нет, все разделы — сплошное 0600 и доступны исключительно руту.
Что использовали для обфускации?

Код не был обфусцирован.

… предложили клиенту обфусцировать исходный код и использовать функции которые проверяют модификацию исходного кода.

Подскажите, что почитать по поводу функций проверки модификаций. Имеется в виду checksum-тесты?
Что там про отдельное место в аду, для постящих код картинками?

А по теме — на рутованом аппарате сколь либо серьезно усложнить жизнь шансов нет. (разве что совсем пионерам).
Зачем модифицировать исследуемый код, когда можно просто перехватить часть системных функций и творчески подменять результаты?
Подскажите пожалуйста, какие есть бесплатные обфускаторы?

ProGuard — уже идёт в комплекте с Android Studio

Полезная статья. Продолжай в том же духе!
Вы анализируете приложение, декомпилируя его, а затем ищете по ключевым словам.
Если, следуя вашим советам, клиент заранее обфусцирует код (да ещё воспользуется таким обфускатором, который шифрует строки), что вы будете делать? Скажете — «наш grep-анализ ничего не нашёл, тут всё безопасно»?

Вы снизите свои риски. Это точно.

Так пока нет обфускации, вы находите уязвимости типа
image
или
Log.d(Class.TAG, "Generated Password=" + passwd);
или
MessageDigest.getInstance("MD5");
а так в коде было бы
а.b.aa(aa.b.a.decode("[encrypted 'MD5']"));
и никакой проблемы вы бы не нашли.
Так и в чем здесь уязвимость?
Смогли украсть какие-то данные, или обмануть сервер? Нет.

То что происходит на устройстве пользователя — это дело пользователя, на остальных пользователей это никак не влияет.

Более того, нормальное приложение и не будет проверять есть ли рут или режим разработчика, отправить в аналитику на бекенд — почему нет, блокировать функционал — бред.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории