Як ламати андроїд, Мій щоденник
Як ламати андроїд
Щоразу, коли попадає до рук чергова залізяка, виникає це питання. Пора вже написати нотатку.
0. Дискляймер: все, що буде описано тут, можете використовувати тільки на свій страх і ризик. Я не винен, якщо в результаті вашої чи моєї помилки ви отримаєте цеглу. Хочете гарантій – несіть у платний сервіс.
1. Бакграунд. Трохи теорії.
- Зламати андроїд у нашому вузькому розумінні тут – отримати повні права над системою.
- Фактично, перемикання в режим "суперкористувача" (у народі "root") робить невелика програма, називається вона su і лежить у спеціальному місці, зазвичай у папці /system/xbin.
- Програма su не має графічного інтерфейсу. Для зручності управління програмою su в Маркеті доступні спеціальні програми типу SuperSU (шукайте і вибирайте сподобалося)
- У деяких системах su вже є, в цьому випадку можна вважати систему вже заламаною, і потрібно просто завантажити SuperSU і радіти.
- Деякі системи захищені слабо, і дозволяють легко записати програму su прямо в /system/xbin. В цьому випадку бути хакером легко - потрібно тільки завантажити su і записати її в андроїд командою adb push su /system/xbin
- Інші системи захищені сильніше. Наприклад, розділ system вони змонтований у режимі лише читання (ro). Однак, якщо ви зможете перемонтувати розділ командою adb remount, вам пощастило. Повертайтесь до п.2
- Іноді працює такий варіант:
- пишемо su кудись у доступне місце, наприклад в /data/local/tmp,
- заходимо у систему (adb shell). далі працюємо вже у shell
- встановлюємо програмі su прапор що вона виконується (chmod 755 su),
- запускаємо ./su
- якщо пощастило іотримали запрошення як знак #, то перемонтуємо system (mount -o remount,rw ” /system) і закидаємо su в /system/xbin (mv su /system/xbin)
Нарешті, у більш важких випадках, всі ці методи не працюють: su немає, система закрита, adb remount не пущає, su не видає грати. Як бути?
1. Завжди працює, але геморойно:
- сформувати файл update.zip, до якого включити /system/xbin/su
- встановити custom recovery (це окрема велика пісня)
- перевантажитися в recovery і накотити в систему цей update.zip
2. У окремих випадках для певних систем і чіпсетів, можливо використовувати експлойт. Це така програма, яка використовуючи певні дірки в системі може отримати root-права. Як приклад для чіпсету mtk6589 можна подивитися тут, для деяких самсунгів та інших систем тут і тут. Ще раз повторю, це окремі випадки експлойтів працюють далеко не завжди і не скрізь. Пошукайте для своєї системи та моделі.
3. Нарешті, якщо Ви справжній Хакер, то ви напевно зможете знайти експлойт для своєї власної системи, отримати root і встановити su. =)