Ламаємо софт для android

споряджати

Для виконання описаних в статті дій знадобиться ряд інструментів, і головний інструмент - це Linux. Так, багато хто з названих далі програм можуть працювати і в Windows, але в будь-яких операціях, пов'язаних з Android і його додатками, краще не покладатися на дітище Біллі. У Linux практично все зробити простіше, командний рядок тут в рази зручніше (вона нам ох як знадобиться), а деякі інструменти просто недоступні для інших ОС.

Після установки Linux в виртуалку або другий системою відразу встановлюємо кошти розробки на Java і віртуальну машину. В Ubuntu це можна зробити за допомогою однієї команди:

Також нам потрібні чотири інструменти для розпакування і декомпіляцію додатків:

  • Apktool - швейцарський армійський ніж для розпакування і запаковування додатків;
  • Jadx - декомпілятор байт-коду Dalvik в код на Java;
  • Backsmali - дизассемблер коду Dalvik (тільки не лякайся! До цього ассемблером він має мало спільного);
  • Sign - утиліта для підпису пакетів.

Для зручності створимо в домашньому каталозі підкаталог Android і завантажити ці інструменти в нього:

Додамо в кінець файлу

/.bashrc наступні рядки:

Вони потрібні для того, щоб замість довгих і незручних команд на кшталт java -jar

/Android/sign.jar можна було набрати просто sign.

розкриваємо піддослідного

Тепер нам потрібно знайти додаток, яке, по-перше, неважко розколупати, а по-друге, яке несе якусь користь і досить відомо. Тобто брати найпростішу софтину тільки для того, щоб було не дуже складно розібратися в її коді, ми не будемо, а замість цього спрямуємо свій погляд на топ Play Store. Практично ідеальний кандидат на цю роль - випущений два місяці тому ASAP Launcher, найзручніший домашній екран з масою корисних і неординарних функцій.

Ламаємо софт для android
Сторінка ASAP Launcher на APKPure.com

Для зручності перейменуємо пакет в asap.apk:

Разархівіруем за допомогою unzip:

Так, APK - це звичайний архів ZIP, але тим не менше він має чітку структуру:

Також пакет може містити інші каталоги, наприклад assets (будь-які файли, включені розробником, в даному випадку - шрифти і база даних) і lib (нативні бібліотеки, створені з використанням Android NDK).

вивчаємо код

Само собою зрозуміло, просто розпакувати пакет недостатньо. Щоб розібратися в роботі програми, необхідно декомпілювати файл classes.dex.

Продовження статті є тільки передплатникам

Варіант 2. Купи одну статтю

Покажи цю статтю друзям: