Ламаємо софт для 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, найзручніший домашній екран з масою корисних і неординарних функцій.

Для зручності перейменуємо пакет в asap.apk:
Разархівіруем за допомогою unzip:
Так, APK - це звичайний архів ZIP, але тим не менше він має чітку структуру:
Також пакет може містити інші каталоги, наприклад assets (будь-які файли, включені розробником, в даному випадку - шрифти і база даних) і lib (нативні бібліотеки, створені з використанням Android NDK).
вивчаємо код
Само собою зрозуміло, просто розпакувати пакет недостатньо. Щоб розібратися в роботі програми, необхідно декомпілювати файл classes.dex.
Продовження статті є тільки передплатникам
Варіант 2. Купи одну статтю
Покажи цю статтю друзям: