Как удалить Root Detection из Android APKs — Расширенное руководство пользователя! —

Многие пользователи Android получают удовольствие от рутирования своего устройства — в конце концов, оно должно быть полностью открытой операционной системой. Однако некоторые бренды устройств и разработчики приложений не хотят, чтобы мы рутировали наши устройства, и стараются изо всех сил вызывать у нас головную боль, когда мы рутируем наши устройства. Это означает, что некоторые приложения просто отказываются запускаться, если обнаруживает, что ваше Android-устройство имеет root-права.

Теперь, как правило, вы всегда можете использовать безсистемный корневой метод или некоторую форму скрытия рута (не всегда надежную), чтобы приложения не могли обнаружить, что ваше Android-устройство имеет root-права. Или мы можем пойти по суперстерильной дороге, разорвать эти APK и перестроить их, чтобы совсем не обнаружить root. Это руководство как раз для этого, поэтому давайте засучим рукава, потому что наши руки испачкаются.

Предупреждение. В этом руководстве предполагается, что у вас есть базовые знания о шестнадцатеричном редактировании и тому подобном. Это НЕ что-то для начинающих, чтобы попробовать! Также обратите внимание, что это не универсальный учебник, а скорее общее руководство по выполнению того, что мы хотим. Существует несколько проб и ошибок, связанных с различными приложениями и методами обнаружения / взлома root, используемыми разработчиками приложений!

Связанные руководства Appual:

  • Как декомпилировать и тематические Android APK
  • Как вручную оформить тему Android System UI

Требования:

  • Инструменты ADB на вашем ПК (см. Руководство по применению «Как установить ADB в Windows»)
  • Декомпилятор APK, как APK Easy Tool

Как удалить Root Detection из APK

Начните с декомпиляции APK (прочитайте руководство Appual по декомпиляции APK, если вы никогда не делали этого раньше).

Теперь ищите в структуре папок APK любой контейнер, содержащий термины «superuser», «supersu» или «root». Например, вы найдете что-то вроде:

smali_classes2 \ ком \ RSA \ mobilesdk \ SDK \RootedDeviceChecker.smali

Теперь откройте соответствующий файл .smali в редакторе кода, таком как Notepad ++, и измените записи const-string с любыми APK или каталогами, относящимися к корню, на что-то, чего не существует.

Теперь перекомпилируйте и подпишите приложение (установите флажок «Подписать APK после компиляции») и все!

Как удалить обнаружение взлома из APK

После выполнения описанных выше шагов некоторые приложения могут иметь встроенные средства обнаружения и изменения APK, особенно банковские приложения. Для этого нам нужно снять защиту от несанкционированного доступа, и это не на 100% надежно.

Если вы запустите приложение и получите сообщение типа «Приложение, похоже, было изменено или повреждено», запишите это точное сообщение.

Теперь найдите файл основных строк (обычно это «res \ values ​​\ strings.xml») для сообщения, которое было отображено.

Запишите имя строки, например, «tamper_block_message_default», и найдите его в файле public.xml, который обычно находится в той же папке, что и файл strings.xml.

Запишите шестнадцатеричный идентификатор и найдите в APK шестнадцатеричную строку. В приложении, с которым мы тестируем этот метод, он был найден в smali_classes2 / com / usaa / mobile / android / app / core / protection / TamperActions.smali

Откройте соответствующий файл .smali в Notepad ++ (или аналогичном редакторе кода) и найдите строку, содержащую шестнадцатеричный идентификатор. Это линия / секция, которая запускает защиту от взлома.

Здесь мы хотим прокрутить эту строку вверх, пока не найдем, в чем она находится, например, в операторе if = или в блоке try.

Это может потребовать проб и ошибок, но вы хотите, чтобы проблемный блок никогда не выполнялся. Так, например, если строка была размещена в операторе if =, и защита от несанкционированного доступа срабатывает, когда для v0 установлено значение, отличное от 0.

Что мы будем делать в этом случае, чтобы убедиться, что v0 всегда равно 0, например, добавив строку:

const / 4 v0, 0x0

Теперь вы будете перекомпилировать и подписать приложение.

Ссылка на основную публикацию