Batch ApkTool

Mr Ikso

null
Регистрация
16.12.2018
Сообщения
12
Реакции
20
Баллы
30
Batch ApkTool

Версия: 3.7.3

Обновлено: 01.10.2019
1.png

2.png7.png
Краткое описание:
Утилита для правильной перекомпиляции APK-файлов.
Представляю вниманию коллег свою утилиту для работы с файлами APK. Несмотря на свой скромный интерфейс, утилита превосходит большинство аналогичных приложений по качеству работы и удобству использования, поскольку она разрабатывается в тесном сотрудничестве с профессионалами по модификации Android-приложений, а также с головой и руками.

РЕКОМЕНДАЦИИ:
Перед использованием ВНИМАТЕЛЬНО прочитайте readme.txt в архиве с утилитой.
ВСЕГДА используйте последнюю версию утилиты.
Если файл не разбирается\не собирается, попробуете выбрать более старую, или наоборот, более новую версию apktool. Помните, что собирать нужно той же версией apktool, которой разбирали. Также убедитесь, что это не ваш случай.
ВСЕГДА прикладывайте лог (полностью весь, а не только кусочек с ошибкой) и сам файл (с фреймами) - тогда вам ответят быстрее и точнее.
Также вполне вероятно, что решение вашей ошибки уже найдено и описано в посте Решение ошибок из лога BatchApkTool (apktool).

Прогресс разработки apktool можно отслеживать здесь
Предыдущие версии apktool находятся здесь

Скачать из
Русский интерфейс: Да

Разработчик: BurSoft
Перейти на веб-сайт:

Скачать:
Версия:

Нет
 
Последнее редактирование модератором:

Алексей

Zakhar23
Регистрация
16.12.2018
Сообщения
12
Реакции
0
Баллы
0
Устройство
BBK Vivo V7 Plus
Плагины бу?
 

1.kirill

Кирилл, просто 1.kirill
Регистрация
16.12.2018
Сообщения
30
Реакции
47
Баллы
56
Название плагина: Android color convector "ACC"
Назначение: плагин по подбору цвета и просмотру его кода
%F1%EA%F0%E8%ED%F8%EE%F2+3.png%F1%EA%F0%E8%ED%F8%EE%F2+2.png

Скачать:
 

Mr Ikso

null
Регистрация
16.12.2018
Сообщения
12
Реакции
20
Баллы
30
Алексей Алексей, да, я добавил в шапку ссыль на диск, там 17 плагинов
 

Mr Ikso

null
Регистрация
16.12.2018
Сообщения
12
Реакции
20
Баллы
30
Фреймворк для решения ошибок
Код:
W: C:\work\APK\BatchApkTool\_INPUT_APK\Mock Locations.ver.1.50.build.82\AndroidManifest.xml:1: error: No resource identifier found for attribute 'compileSdkVersion' in package 'android' W: W: C:\work\APK\BatchApkTool\_INPUT_APK\Mock Locations.ver.1.50.build.82\AndroidManifest.xml:1: error: No resource identifier found for attribute 'compileSdkVersionCodename' in package 'android' W: W: C:\work\APK\BatchApkTool\_INPUT_APK\Mock Locations.ver.1.50.build.82\AndroidManifest.xml:22: error: No resource identifier found for attribute 'appComponentFactory' in package 'android'
Установка:
  1. Скачиваем плагин
  2. Закидываем в папку _system/_framework
  3. В Batch Apk Tool выбираем пункт 7 И плагин FindFramework
  4. Пытаемся собрать приложение с помощью этого плагина.
Скачать framework-res_9lite.apk
 

Mark_fox

Куратор
Регистрация
17.12.2018
Сообщения
249
Реакции
486
Баллы
91
Устройство
Xiaomi Redmi 5 Plus
Лучше убирайте ссылки на посты пда
 

vovanKARPO

Модератор
Регистрация
14.12.2018
Сообщения
16 474
Реакции
21 174
Баллы
281
Устройство
Samsung Galaxy S7 Edge
Batch ApkTool v3.7.3
- Обновлен apktool (2.4.1_0303), smali (2.2.6), jadx (0.9.0-b656), vdexExtractor (0.5.3_1108), luyten 0.5.4 (procyon 0.5.33), Python (3.7.2), Java (8u201).
- Обновлён турецкий язык от Hakan Güven.
- Добавлен литовский язык от Shimas5.
- Исправлено несколько ошибок.
Версия для 64-х битных Windows
Скачать BatchApkTool373.7z

Версия для 32-х битных Windows и Windows XP
Скачать BatchApkTool373_32bit_and_XP.7z
 
Последнее редактирование:

vovanKARPO

Модератор
Регистрация
14.12.2018
Сообщения
16 474
Реакции
21 174
Баллы
281
Устройство
Samsung Galaxy S7 Edge
Плагины для Batch ApkTool
Для того, чтобы использовать плагины, их нужно "установить" в BAT. Типовая установка заключается в том, чтобы распаковать архив с плагином, и скопировать папку плагина в папку \bin\plugins\ утилиты (должен получиться такой путь: \bin\plugins\%ПАПКА_ПЛАГИНА%\plugin.bat). Дополнительные сведения об установке плагина можно найти в описании к плагину.
Затем, нужно выбрать в BAT пункт меню [7], и выбрать нужный плагин из списка.
Плагин AntiConfuse
Позволяет исправить ресурсы самого пакета, из за которых не собирается apk.
Ошибка при сборке No resource identifier found for attribute ... in package 'имя.вашего.пакета'
Не будет исправлять, если в конце строки ошибки, не будет название самого пакета, который правите, например
res\layout\abc_action_mode_close_item_material.xml:2: error: No resource identifier found for attribute 'srcCompat' in package 'android'
res\layout-v21\abc_screen_toolbar.xml:5: error: No resource identifier found for attribute 'touchscreenBlocksFocus' in package 'android'
res\layout\action_menu_layout.xml:2: error: No resource identifier found for attribute 'expandBackground' in package 'miui'
в таких случаях надо пробовать добавлять опорный фрейм, соответственно в первых двух случаях framework-res.apk, в последнем miui.apk
Обычно, после запутывания ресурсов в apk файлах, такие ресурсы находится в папке r , и имеет одно - двух буквенные названия, или они при распаковке получает одинаковые названия, отличающийся только ID в конце названия.

Ошибок, при сборке, обычно много, и перебрать руками такое, очень долго и сложно. Пример ошибки (выделенное обязательно, остальное у каждого apk своё)
res\layout\a1.xml:5: error: No resource identifier found for attribute 'layout_collapseMode' in package 'com.apkpure.aegon'

Инструкция:
Разбираем ресурсы apk, любим способом (BAT команды 1 или 2)
Если при сборке командой 3 ошибка No resource identifier found for attribute запускаем плагин и ждём окончание работы плагина.
Закрываем окно, где показывает результат работы плагина, в BAT возвращаемся из экрана плагина, на экран сборки.
Пробуем собирать проект BAT командой 3, ошибки, как выше, не должны быть.

p.s. Пока плагин исправляет только в файлах public.xml , attrs.xml , styles.xml , так как я не встречал, другие варианты, где надо править другие файлы.
Если такой apk найдётся, где надо исправлять и другие файлы, пишите в QMS.

2019-08-13
появились несколько версий лаунчера, которые нельзя собрать из за неизвестного атрибута в xml папке
пока такие ошибки придётся править руками.
1. пример
S10_Launcher_6.3.1_pro\res\xml\default_workspace_3x3.xml:68: error: No resource identifier found for attribute 'itemType' in package 'com.launcher.s8.galaxys.launcher'

\res\values\attrs.xml добавляем строку
<attr name="itemType" format="integer" />

2. пример
Launcher_iOS_13_v3.1.2\res\xml\default_workspace_5x4.xml:5: error: No resource identifier found for attribute 'iconType' in package 'com.luutinhit.ioslauncher'

\res\values\attrs.xml добавляем строку
<attr name="iconType" format="integer" />
для работы плагина нужен файл aapt.exe Ошибка при отсутствии aapt.exe может выглядеть как ошибка:
java.io.IOException: Cannot run program "aapt": CreateProcess error=2, Не удается найти указанный файл

aapt.exe файл можно вытащить архиватором из apktool_2.3.2.jar+ и положить в папку BatchApkTool\bin или в путях (Path), чтобы могли вызывать aapt.exe из любого места. (Был вариант на Win10 x64, когда в BatchApkTool\bin плагин не видел aapt.exe, тогда помогло перекинуть aapt.exe в папку BatchApkTool)
aapt.exe в apktool.jar файле находится
BatchApkTool\bin\apktool_x.x.x.jar\prebuilt\aapt\windows\aapt.exe
в новых версиях apktool.jar файлах путь изменили
BatchApkTool\bin\apktool_x.x.x.jar\prebuilt\windows\aapt.exe
Скачать AntiConfuse_2019-09-15.zip

Плагин AntiSplit
Позволяет объединить разделенные ресурсы из нескольких apk файлов.
Подготовить проект к обработке плагином придётся в ручную.
1. разобрать основной (base.apk), и все нужные ресурсы (split_config.ru.apk, split_config.xxhdpi.apk, split_config.arm64_v8a.apk), разбирая только ресурсы (BAT команда 2).
2. объединить все папки res в одну основную (base/res), public.xml переименовав в public (1).xml, public (2).xml, итд
тут главное не переписать public.xml другим public.xml .
3. при объединении несколько версий графики (hdpi, xhdpi, xxhdpi, xxxhdpi, итд), оставлять только уникальные, переименовать нужно только public.xml .
4. объединить папки lib, если такие есть в проекте (base/lib/).
5. запускать плагин, и долго ждать завершение операции (1-3-5 мин). Прогресс видно в отдельном окне, чтобы хоть как то следить за процессом.
6. (не обязательно) очистить от split проект: AndroidManifest.xml, public.xml , res/xml/splits0 .
7а. Нужно выбрать базовый apk файл командой 81, даже если он там один, а то будет ошибка (ERROR _INPUT_APK\xx.apk not a folder!!!)
В версии AntiSplit_2019-04-07.zip , apk можно не выбирать, но тогда в папке _INPUT_APK должны быть только те файлы/папки, которых надо обрабатывать плагином (базовые apk и их разобранные папки).
7б. Рекомендуется поправить в файле apktool.yml секцию doNotCompress. Посмотреть файл базового проекта apktool.yml, а также apktool.yml файлы из запчастей, на предмет строчек расширений файлов которые не надо сжимать, и добавить в базовую apktool.yml расширения файлов, которых там ещё нет. Обычно картинки, музыка и другие, уже сжаты в своем формате. Можно сравнить с оригинальным apk степень сжатия в архиваторе (7-zip показывает сжат DEFLATE или не сжат STORE).
Если в AndroidManifest.xml есть android:extractNativeLibs="false" , то .so файлы в папке lib не должны сжиматься, так как они не извлекается PackageManager в /data/app/
Код:
doNotCompress:
- arsc
- png
- ogg
- mp3
- so
Скачать AntiSplit_2019-04-07.zip

Плагин MEMEnigma
Плагин для декомпиляции/деобфускации APK в исходный java-код
Плагин предназначен для декомилирования apk в java. Имеет четыре опции выбора в меню.
Принцип работы:
1). Преобразуем apk/dex формат в jar/java classes формат (утилита dex2jar)
2). Декомпиляция java classes в исходный java код с использованием деобфускации Enigma

Поддерживаются версии dex от 035 до 038 (вплоть до Android 8)

Результатом пакетной работы плагина (опции 1,2) является папки _INPUT_APK\apkname_java _INPUT_JAR\jarname_java.
Если выбран единичный apk/jar файл плагина (опции 1,2), то будет выведено окно GUI для анализа java-кода.

Результатом пакетной работы плагина по деобфускации кода smali (опция 5) является папка_INPUT_APK\apkname\_smali_new
Скачать Enigma_fix.zip
 
Верх Низ