Vdex файлы что это
Деодексирование и одексирование прошивок Android
Большинство пользователей Android-устройств, которые прошивали свой телефон или планшет, скорее всего, сталкивались с понятием «одексированная» или «деодексированная» прошивка.
В данном материале мы подробнее разберемся, что же означают эти понятия, а также как проводить сам процесс деодексирования или обратного одексирования.
Существует несколько способов по деодексированию прошивки, в данном материале мы разберем самые удобные из них с точки зрения простого пользователя.
Первый способ. Итак, что нам для этого потребуется:
1. Установить Java SDK.
2. Установить Android SDK.
3. Скачать и распаковать в корень диска C: следующий архив: http://forum.xda-developers.com/showthread.php?t=2213235
После этого выполняем поочередно следующие действия:
1. Копируем папку system/app с Android-устройства на персональный компьютер.
2. Копируем папку system/framework с Android-устройства на персональный компьютер.
3. Копируем следующие файлы:
— содержимое папки system/app в распакованную папку Deodex: origi_app
— содержимое папки system/app в распакованную папку Deodex: comp_app
— содержимое папки framework в распакованную папку Deodex: origi_frame
— содержимое папки framework в распакованную папку Deodex: comp_frame
4. Запускаем исполняемый файл deodex-app.bat, это запустит процесс деодексирования всех файлов в папке origi_app
5. После завершения предыдущего процесса, запускаем исполняемый файл deodex_frame.bat, это запустит процесс деодексирования всех файлов в папке origi_frame
6. После выполнения деодексирования запускаем исполняемый файл zip_em_app.bat, который выполнит упаковку файлов app в папке done_app
7. После завершения, запускаем исполняемый файл zip_em_frame.bat, который выполнит упаковку файлов app в папке done_frame
8. После успешной упаковки копируем все файлы из директории done_app в comp_app, а из done_frame в comp_frame
Второй способ. Для этого нам также потребуются установленные Java SDK и Android SDK, кроме того нужно скачать следующий архив: http://forum.xda-developers.com/showthread.php?t=2213235
Пошагово выполняем следующие действия:
1. Распаковываем папку Deodex из скачанного архива в корень диска C:
2. Копируем папку system/app с Android-гаджета на компьютер в директорию C:Deodex
3. Копируем папку system/framework с Android-гаджета на компьютер в директорию C:Deodex
4. Открываем директорию C:Deodexjar, видим файл frame—dep.txt. Открываем его блокнотом или любым другим текстовым редактором (рекомендуется использовать Notepad++), и прописываем путь к скопированной папке framework. Аналогично в файле app—dep.txt прописываем путь к папке app. Примеры прописанных путей в данных файлах:
Если по какой-либо причине необходимо одексировать системные приложения, например, если прошивка была деодексирована, то сделать это еще проще. Необходимо установить на Android-устройство приложение Titanium Backup (напомним, что для его корректной работы нужны Root-права). Для того, чтобы одексировать Android-приложение, перемещаем его в папку /system/app. Открываем Titanium Backup и нажимаем пункт в дополнительном меню «Интегрировать sysDalvik».
Что такое odex и deodex в Android
Многие владельцы телефонов и планшетов на Android, кто сталкивался с их прошивкой обращали внимание на то, что прошивки бывают odexed и deodexed. Но не многие понимают, что скрывается за этими понятиями, и какие плюсы и минусы несет за собой тот или иной тип прошивки.
Сегодня вы узнаете, что же такое odex и deodex, и зачем оно нужно.
Если вы заглянете в папку с системными приложениями system/app на вашем планшете или телефоне со стоковой (заводской) прошивкой, то непременно заметите, что все приложения имеют кроме apk-файла, его двойник, odex-файл. Например, файлу applikatoin.apk соответствует файл applikatoin.odex.
Для чего же нужен этот odex-файл? Если коротко и просто, то каждое приложение состоит из набора тех или иных инструкций, благодаря которым оно и работает, и вспомогательных данных, например, картинок, которые отображаются на экране. Вот именно, в файле odex и хранится сам код приложения.
Все программы в системе Android написаны (закодированы) на языке Java и для того, чтобы процессор устройства – его мозг, сумел выполнить этот Java код, он переводится на понятный для процессора язык виртуальной Java-машиной «Dalvik».
В деодексированной прошивке код находится внутри файла apk. Apk файлы упакованы так же, как и обычный zip файлы,и поэтому деодексированная прошивка всегда имеет меньший размер. Но код, который содержится в файле odex оптимизирован для конкретного устройства, а код который хранится в apk файле может выполняться на любом устройстве. Вы скорее всего и сами поняли, в чем плюсы odexed прошивки. Ее системные приложения уже оптимизированы для работы на конкретном оборудовании.
Зато код, который находится в деодексированном приложении, может запускаться практически на любом android устройстве и эти программы проще модифицировать. Например, чтобы поменять в нем изображения, достаточно просто распаковать apk файл, как обычный zip архив, заменить картинки и снова упаковать приложение. С odexed приложениями такой трюк не пройдет – после подобных изменений программа перестанет запускаться вообще.
Система Андроид при первоначальном запуске системных приложений deodexed прошивки, извлекает из них код, перекомпилирует и сохраняет в специальном месте: в папке dalvik-cache и потом берет уже готовый код для нужного apk-файла из этой папки. Вот поэтому и рекомендуется при перепрошивке телефона или планшета делать очистку dalvik-cache (clear dalvik-cache) – программа в новой прошивке может измениться, а система будет при ее запуске использовать старый код. Именно поэтому так долго запускаются deodexed прошивки первый раз после их установки на android устройство и очистки dalvik-cache.
Кроме того, считается, что odexed прошивки работают быстрее, чем аналогичные но, деодексированные.
Как узнать Odex прошивка или Deodex.
Если в папке system/app находятся только файлы с расширением APK, значит прошивка deodex, если есть файлы и с расширением odex, значит прошивка odex. Все официальные прошивки odex. Почти все модифицированные прошивки deodex, но среди модифицированных встречаются также и odex прошивки.
Расширение файла VDEX
Оглавление
Мы надеемся, что вы найдете на этой странице полезный и ценный ресурс!
1 расширений и 0 псевдонимы, найденных в базе данных
✅ Android VDEX Container
Другие типы файлов могут также использовать расширение файла .vdex.
По данным Поиск на нашем сайте эти опечатки были наиболее распространенными в прошлом году:
Это возможно, что расширение имени файла указано неправильно?
Мы нашли следующие аналогичные расширений файлов в нашей базе данных:
Если дважды щелкнуть файл, чтобы открыть его, Windows проверяет расширение имени файла. Если Windows распознает расширение имени файла, файл открывается в программе, которая связана с этим расширением имени файла. Когда Windows не распознает расширение имени файла, появляется следующее сообщение:
Windows не удается открыть этот файл:
Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать для его открытия.
Если вы не знаете как настроить сопоставления файлов .vdex, проверьте FAQ.
🔴 Можно ли изменить расширение файлов?
Изменение имени файла расширение файла не является хорошей идеей. Когда вы меняете расширение файла, вы изменить способ программы на вашем компьютере чтения файла. Проблема заключается в том, что изменение расширения файла не изменяет формат файла.
Если у вас есть полезная информация о расширение файла .vdex, напишите нам!
Русские Блоги
Введение в механизм Android 8.0 VDEX
задний план
формат файла | использовать |
---|---|
.dex | Сохранить байт-код Java |
.odex/.oat | оптимизированный формат dex, ELF |
.vdex | проверенный dex, включая raw dex + (quicken info) |
.art | Файл изображения, хранящий строку горячих методов, метод, типы и т. Д. |
Первый коммит, связанный с реализацией VDEX:
Основная цель: сократить время выполнения dex2oat
1. После системного OTA для приложений, установленных в разделе данных, потому что их apk не изменился, затем при первой загрузке, если есть vdex-файл для этой части app Если выполняется dexopt, вы можете пропустить процесс проверки и войти в процесс компиляции dex, тем самым ускорив первую загрузку;
2. Когда информация профиля jit приложения изменяется, фоновый dexopt повторно выполняет dex2oat в фоновом режиме. Из-за vdex вы можете пропустить его сейчас.
принцип
Когда приложение устанавливается впервые, извлеките из него файл dex, а после успешной проверки сохраните его в отдельном файле. Позже, из-за изменений профиля jit или OTA и других причин, процесс проверки файла dexopt может пропускать.
Реализация:
Путь к ключу dex2oat: main () → setup () → compileApp ()
Поскольку VDEX оптимизирует процесс проверки, то есть для проверки легитимности файла dex, ниже будет в основном рассмотрена реализация функции WriteAndOpenDexFiles ().
Основной процесс DexFileVerifier :: Verify:
Объедините формат файла dex:
Передача не удалась повторно загрузитьОтмена
Таблица сравнения значений полей:
CheckHeader (): проверьте информацию заголовка dex (см. Левую половину диаграммы структуры файла dex выше)
Проверьте, соответствует ли фактический размер файла значению file_size, сохраненному в файле заголовка dex;
Рассчитайте контрольную сумму файла dex и сравните ее с контрольной суммой, сохраненной в заголовке dex, чтобы проверить, согласована ли она;
Сравнить файлы dexПорядок байтовНезависимо от того, соответствует ли (endian_tag) порядок байтов текущей машины, в настоящее время dex использует прямой порядок байтов;
Проверьте, является ли header_size, сохраненный в заголовке файла dex, ненормальным;
CheckMap():
CheckIntraSection():
4) codeItem: TL;DR
5) stringData: TL;DR
…
CheckInterSection():
2) Проверьте все элементы в области type_id:
Проверьте, является ли descriptor_idx_, хранящимся в элементе type_id, допустимым, то есть можно ли его проанализировать в строковое представление типа в соответствии с idx, и проверьте, все ли элементы были отсортированы в соответствии с descriptor_idx_ от малого до большого
3) Проверьте все элементы в области proto_id:
Проверьте, можно ли найти соответствующую запись в offset_to_type_map_ в соответствии с parameters_off_, и проверьте, все ли параметры допустимы
Можно ли правильно декодировать строковое представление в соответствии с short_idx_
Проверьте, не выходит ли return_type_idx_ за границы (65535) и может ли он наконец правильно проанализировать свое строковое представление
Проверьте, все ли элементы proto_id отсортированы в соответствии с return_type_idx_, параметром type_id
4) Проверьте все filed_id: TL; DR
5) Проверьте все method_id: TL; DR
…
Процесс генерации Vdex
структура файла vdex
| magic: 4 байта | версия: 4 байта | dex [0] | dex [1] |… | dex [N] |
Для определения см. art / runtime / vdex_file.h
Процесс сборки
Длительная проверка файлов dex для основных приложений:
Имя приложения | версия | Общий размер файла dex / размер пакета | Проверка требует много времени | Общее время, затраченное dex2oat (4 потока) |
---|---|---|---|---|
6.5.23 | 41.8Mb / 54Mb | 2,681 секунды | 13,376 секунды | |
Alipay | 10.1.8.112305 | 40.8Mb / 58Mb | 2.768 секунды | 13,764 секунды |
Taobao | 7.2.3 | 11.6Mb / 76Mb | 692 мс | 3.641 секунды |
Сегодняшнее издание Toutiao Express Edition | 6.1.9 | 4.8Mb / 2.9Mb | 242 мс | 1.899s |
Новая версия структуры VDEX
В Android 9.0 структура vdex стала богаче:
Добавлены VerifierDeps и QuickeningInfo. VerifierDeps используется для быстрой проверки законности метода в dex. Он генерируется во время первого dex2oat.
При выполнении dex2oat позже вы можете использовать эту информацию, вам не нужно анализировать байт-код один за другим (виртуальные машины всегда имеют прямую совместимость), просто убедитесь, что зависимые классы существуют. Смотрите подробности:
Интеллектуальная рекомендация
SpringBoot интегрирует Swagger2 для автоматического создания документов Api
Теперь, когда разделение на интерфейсную и внутреннюю части разработки стало тенденцией, в таком режиме разработки документы интерфейса особенно важны для интерфейсной части. Напомним, что в моей пред.
Предыдущие последствия движения 4 мая
Так называемый 4 мая движение в память о более чем сто лет назад, и 4 мая 1919 года группа колледжа парад. Прочитав эту фразу, я чувствую, что сила воли новорожденной всегда принадлежит к новому покол.
Виртуальная машина Linux быстро создает полный процесс RabbitMQ (версия для распаковки) (простой и понятный, а не про тест может написать так много)
Отказ от ответственности: я создаю среду виртуальной машины Linux в системе Windows 10. Все установочные пакеты загружаются, распаковываются и устанавливаются вручную. Любой, кто любит устанавливать о.
Vdex файлы что это
Последнее обновление программы в шапке: 23.12.2020
Краткое описание:
Утилита для правильной перекомпиляции APK-файлов.
Описание:
Представляю вниманию коллег свою утилиту для работы с файлами APK. Несмотря на свой скромный интерфейс, утилита превосходит большинство аналогичных приложений по качеству работы и удобству использования, поскольку она разрабатывается в тесном сотрудничестве с профессионалами по модификации Android-приложений, а также с головой и руками.
Прогресс разработки apktool можно отслеживать здесь
Предыдущие версии apktool находятся здесь
v3.7.9 DONATE
— Обновлен apktool (2.5.1_20201211), smali (2.4.0_20200330), jadx (1.2.0-b1456), Python (3.7.9), Java (11.0.9).
— Добавлена деодексация Android 10.
— Обновлен плагин BuildApkTool 1.1: добавлена компиляция smali и baksmali.
— Обновлен плагин UnpackerFirmware 1.7.0 RC: добавлена поддержка «Super partitions image».
— Обновлен плагин UnicodeEscape2UTF8 v1.0.4.
— В настройки добавлена опция выбора версии AAPT (AAPT1, AAPT2 или AUTO).
— В расширенные настройки добавлена опция «Добавлять порядковый номер к имени выходного файла, вместо перезаписи»
— Удалён декомпилятор luyten, для просмотра java-кода рекомендую плагин BytecodeViewer.
— Различные исправления и доработки.
v3.7.8 DONATE
— Обновлен apktool (2.4.1), smali (2.3.4), jadx (1.0.0-b1166), luyten 0.5.4 (procyon 0.5.36), dex2jar (2.1_20190905), Java (11.0.5), Python (3.7.5).
— Добавлен плагин BuildApkTool 1.0: скачивание и компиляция последних версий ApkTool из исходников.
— Обновлен плагин remove_classes_dex 1.5.1: добавлено логирование выполняемых операций.
— Во всех операциях с JAR-файлами теперь применяется выравнивание. Может помочь, если после деодексации или редактирования JAR-файлов прошивка не стартует.
— При использовании проектов не работает деодексация Android 9. Исправлено!
— Добавлен венгерский язык от gidano. Спасибо!
v3.7.7 DONATE
— Обновлен 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).
— Обновлен плагин ColorPicker 1.1: добавлена регулировка прозрачности интерфейса.
— Исправлены некоторые ошибки.
v3.7.4
— Обновлен apktool (2.4.1), smali (2.3.4), jadx (1.0.0-b1166), luyten 0.5.4 (procyon 0.5.36), dex2jar (2.1_20190905), Java (11.0.5), Python (3.7.5).
— Во всех операциях с JAR-файлами теперь применяется выравнивание. Может помочь, если после деодексации или редактирования JAR-файлов прошивка не стартует.
— Транслятор байт-кода Dalvik в байт-код JVM enjarify заменен на dex2jar.
— Исправлены некоторые ошибки.
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.
— Исправлено несколько ошибок.
v3.7.2
— Обновлен apktool (2.4.0_0918), smali (2.2.5), oat2dex (0.90_0918), vdexExtractor (0.5.2), jadx (0.8.0 build 547), плагин UnpackerFirmware (1.6.0), luyten 0.5.3 (procyon 0.5.33), Java (8u181), Python (3.6.6), adb, zipalign.
— В расширенные настройки добавлена опция выбора утилиты для деодексации Android 8.x и выше (baksmali или vdexExtractor).
— Множество улучшений алгоритмов деодексации.
— Добавлен плагин remove_classes_dex от Andycar для удаления classes.dex из APK/JAR-файлов.
— Добавлен турецкий язык от Hakan Güven.
— Исправлены некоторые ошибки.
v3.7.1
— Обновлен apktool (2.3.4_0503), oat2dex (0.90_0420), jadx (0.7.2 build 429), UnpackerFirmware 1.4.4, Java (8u171).
— Ускорено отображение и сохранение логов Logcat (примерно в 3 раза).
— Добавлено сохранение лога от предыдущей перезагрузки (last).
— В расширенные настройки снова добавлена опция деодексации Android 6 и выше через oat2dex (быстрее, чем через baksmali, но возможны ошибки).
— Опция в расширенных настройках «Сохранять оригинальный AndroidManifest.xml» по умолчанию теперь имеет значение НЕТ.
— Исправлены некоторые ошибки.
v3.7.0
— Batch ApkTool теперь 64-х битный! Для 32-х битных Windows (и Windows XP) будет выкладываться отдельная версия.
— Обновлен apktool (2.3.3_0413), jadx (0.7.2 build 427), oat2dex (0.90), python (3.6.5), adb, zipalign.
— Добавлена деодексация Android 8.1 (при помощи утилиты vdexExtractor).
— Добавлен плагин UnpackerFirmware от unix3d для распаковки образов прошивок (взамен устаревшего SDATunpacker).
— Все пункты «ОТМЕНА» в меню Batch ApkTool теперь выбираются цифрой 0.
v3.6.9
— Обновлен apktool (2.3.2), smali (2.2.3), enjarify (0329), jadx (0.7.2 build 413), Java (8u161).
— В расширенные настройки добавлена опция включения экспериментальной поддержки aapt2 (только для apktool 2.3.2 и выше).
— Исправлены некоторые ошибки.
v3.6.8
— Обновлен apktool (2.3.1), smali (2.2.2), Java (8u151).
— Добавлено отображение времени, затраченного на декомпиляцию / рекомпиляцию.
— Исправлено определение версии Java 9.
— Из дистрибутива удалён apktool 1.5.2.
v3.6.7
— Обновлен apktool (2.2.5_0827), sdat2img (2017-28-08), Java (8u144).
— Добавлена проверка наличия необходимых для работы файлов.
— Исправлены мелкие ошибки.
v3.6.6
— Обновлен apktool (2.2.3), smali (2.2.1), luyten 0.5.3, sdat2img (2017-01-04), Java (8u131).
— Добавлена деодексация Android O.
— Удалена возможность деодексации Android 6 и выше через oat2dex.
v3.6.5
— Обновлен enjarify (0301).
— Для выбора файлов теперь используется стандартный диалог Windows.
— В расширенные настройки добавлены опции «Сохранять оригинальный AndroidManifest.xml», «Предупреждать о перезаписи папки при декомпиляции» и «Звуковые оповещения».
— Добавлен вывод сообщений в трей.
— Исправлено зависание вывода на экран логов logcat.
v3.6.4
— Обновлен apktool (2.2.2), smali (2.2_0108), enjarify (0122), luyten 0.5.0 (procyon 0.5.32), sdat2img (2016-11-23), Java (8u121).
— В дистрибутив добавлен плагин FindFramework.
— Исправлено извлечение из архивов sqsh файлов с одинаковыми именами, но в разном регистре, во время деодексации.
v3.6.3
— Обновлен apktool (2.2.2_1023), smali (2.2_1024).
— Добавлена поддержка API Level 25 (Android 7.1 Nougat Preview).
— Исправлена подпись некоторых APK-файлов.
v3.6.2
— Обновлен apktool (2.2.1), smali (2.2_1018), enjarify (0928), sdat2img (0924), Java (8u111).
— Добавлен альтернативный способ копирования файлов в папку /system (пункт [14->2], используется бинарник su).
— Добавлена возможность выборочной установки APK из папки _OUT_APK.
— Теперь для деодексации Android 6 и выше по умолчанию используется baksmali (включить oat2dex можно в расширенных настройках [00]).
— Добавлен счетчик файлов при деодексации через baksmali.
— Улучшения и исправления.
v3.6.1
— Обновлен apktool (2.2.1_0819), enjarify (0831), luyten 0.4.9 (procyon 0.5.32), плагин SDATunpacker (1.0.1).
— Оптимизирован алгоритм деодексации API level >= 23 через baksmali.
— Добавлена поддержка деодексации файлов odex*.sqsh.
— Существенно ускорен и улучшен алгоритм поиска симлинков (поддерживаются симлинки после распаковки образов программой Rom Helper).
— Добавлена опция включения/выключения удаления симлинков после деодексации (в расширенных настройках).
v3.6.0
— Обновлен apktool (2.2.0), luyten 0.4.8 (procyon 0.5.32), Java (8u101).
— Добавлена папка _system для деодексации прошивок.
— Добавлено автоматическое определение API Level, если в папке _system есть файл build.prop.
— Лог деодексации вынесен в отдельный файл log_deodex.txt
— Файлы симлинков теперь удаляются после деодексации (код симлинков для updater-script сохраняется в конце лога деодексации).
— Ускорена рекомпиляция в экспертном режиме при большом количестве изменений в декомпелированном файле.
— В дистрибутив добавлен плагин SDATunpacker.
— Удалены старые версии oat2dex.
— Различные улучшения и исправления.
v3.5.0
— Обновлен apktool (2.2.0_0621), smali (2.2_WIP_0529).
— Различные улучшения алгоритма деодексации.
— Добавлены расширенные настройки (пункт меню [00]) с возможностью выбора метода деодексации API level >= 23.
— Теперь плагины могут использовать для работы интерпретатор Python 3.
— Транслятор байт-кода Dalvik в байт-код JVM dex2jar заменен на enjarify.
v3.4.5
— Обновлен apktool (2.1.1), smali (2.1.2_0424), oat2dex (0.87_0426), luyten 0.4.7 (procyon 0.5.32), Java (8u91).
— Изменен метод деодексации Android 6.0.
— В дистрибутив добавлен плагин CopyBack.
v3.4.4
— Обновлен apktool (2.1.0), oat2dex (0.86_0316), Java (8u77).
— Добавлена деодексация Android N.
— Ошибка деодексации boot.oat теперь не прерывает процесс деодексации.
v3.4.2
— Обновлен apktool (2.1.0_0106), oat2dex (0.86_0107), smali (2.1.1), luyten 0.4.6 (procyon 0.5.32).
— Ускорена деодексация файлов Android 6.0.
— Исправлена деодексация файлов с несколькими classes.dex (Android 6.0).
— Добавлено копирование файлов из _OUT_APK в /system/framework.
— Добавлен украинский язык (спасибо Volodiimr).
v3.4.1
— Обновлен apktool (2.0.3_1024), smali (2.1.0_1018), oat2dex (0.85_1013), jadx (0.6.1 build 221), Java (8u65).
v3.4.0
— Добавлена деодексация Android 6.0
— Обновлен apktool (2.0.2_0930_), smali (2.1.0_1002), oat2dex (0.83_0930), jadx (0.6.1 build 220).
v3.3.4
— Обновлен apktool (2.0.2_0912_fix), jadx (0.6.1 build 218).
v3.3.3
— Обновлен apktool (2.0.2_0821), smali (2.0.7_0906), oat2dex (0.83_0909), luyten 0.4.4 (procyon 0.5.30), jadx (0.6.1 build 215), Java (8u60).
— Обновлены бинарники adb.
— Исправлено чтение скрытых символьных ссылок.
v3.3.0
— Добавлены испанский, китайский, немецкий, турецкий и французский языки.
— Изменена логика деодексации файлов: теперь файлы деодексируются непосредственно в папках _app, _priv-app и _framework.
— Улучшены алгоритмы деодексации: теперь деодексируются файлы всех архитектур за один проход.
— В лог деодексации добавлен вывод символьных ссылок (для updater-script).
— Исправлена деодексация файлов с несколькими classes.dex.
— Обновлен apktool (2.0.1_0629), smali (2.0.7_0619), jadx (0.6.1 build 203), oat2dex (0.83).
v3.2.1
— Добавлен беларуский язык
— Логи теперь сохраняются в UTF-8 с BOM
— Увеличен размер Java heap для oat2dex.jar
v3.2.0
— Добавлена поддержка файлов локализаций. В дистрибутив добавлен русский и английский языки.
— Добавлена начальная поддержка плагинов. Функции замены ресурсов без перекомпиляции и преобразования unicode-последовательностей в UTF-8 перенесены в плагины.
— Добавлен плагин настройки цвета основных элементов интерфейса.
— Декомпилятор исходного Java-кода jd-gui заменен на luyten 0.4.4 (procyon 0.5.28).
— Добавлен вывод цветного форматированного текста в logcat. Логи теперь сохраняются в реальном времени во время просмотра.
— Исправлено игнорирование изменений в папке libs.
— Обновлен apktool (2.0.1_0524), smali (2.0.6_0523), jadx (0.6.1 build 198), oat2dex (0.81).
— Различные улучшения и исправления.
v3.0.1
— Добавлен счетчик обрабатываемых файлов.
— Фреймы теперь устанавливаются из папки _framework и всех ее подпапок.
— Обновлен apktool (2.0.0), smali (2.0.5_0410), jadx (0.6.0), jd-gui (1.0.0-RC4), dex2jar (2.0).
— Обновлена Java 8u45 (в standalone-версии BAT).
v3.0
— Улучшен алгоритм работы экспертного режима.
— Добавлена деодексация приложений архитектуры x86 (Android 5.0).
— Добавлено сохранение таблицы inline-методов прошивки (пункт 18->8) (см. readme п. 3.10).
— Увеличена скорость декомпиляции.
— Обновлен apktool (2.0.0-RC4_0322), smali (2.0.5_0321), jadx (0.5.5 build 181), signapk.
v2.9.9
— Исправлена функция рекомпиляции, если в папке C:\Windows присутствует файл aapt.exe
— Обновлен jadx (0.5.5 build 171).
v2.9.8
— Улучшено определение Java
— apktool 2.x теперь использует внешний aapt.
— Обновлен apktool (2.0.0 RC4), jadx (0.5.5 build 166).
v2.9.7
— Добавлен экспертный режим для сборки APK (см readme п. 5.5).
— Добавлено логирование ошибок для пункта [6 Zipalign files].
— Доработана функция декомпиляции приложений на системах, где некорректно задана системная переменная PATH
— Обновлен jadx (0.5.5 build 165).
v2.9.6
— Пункты 04-07 теперь декомпелируют все dex-файлы, а не только classes.dex.
— Обновлен apktool (2.0.0 rc3 от 21.01.2015), smali (2.0.5), jadx (0.5.5 build 164).
— Обновлена Java 8u31 (в standalone-версии BAT).
v2.9.5
— Исправлено игнорирование изменений, внесенных в папки assets и lib при использовании apktool 1.x (дефект появился в BAT289)
— Возвращена совместимость с beta-версиями apktool 2.x
v2.9.4
— Добавлена деодексация файлов *.odex.xz в папке _framework
— Оптимизация кода
v2.9.3
— Добавлена деодексация файлов *.odex.xz (Android 5.0)
— Обновлен jadx (0.5.5 build 163).
v2.9.2
— Добавлена возможность деодексации приложений Android 5.0
— Исправлена некорректная декомпиляция приложений, если в именах файлов их smali-кода содержались недопустимые символы
— Обновлен jadx (0.5.5 build 162).
v2.9.1
— Доработана функция деодексации.
— Обновлен apktool (2.0.0 rc3 от 30.12.2014),smali (2.0.3 от 29.12.2014), jadx (0.5.5 build 157).
— Обновлен aapt.exe для apktool 1.5.2
v2.9
— В логи добавлена информация о версиях используемых компонентов.
— Фреймы при использовании apktool_2.x теперь устанавливаются в папку утилиты.
— Обновлен apktool (2.0.0 rc3 от 26.12.2014), jadx (0.5.5 build 155).
v2.8.9
— Исправлено сохранение версии приложения и версии SDK, измененных через apktool.yml.
— Обновлен apktool (2.0.0 rc2 от 02.11.2014), smali (2.0.3 от 06.11.2014), jd-gui (0.3.7 RC1), jadx (0.5.5 build 142).
v2.8.8
— Возвращено создание резервной копии в папке _backup.
— Standalone-версия Batch ApkTool теперь использует Java 8.
— Обновлен apktool (2.0.0 rc2 от 20.10.2014), jadx (0.5.3 build 131).
— Улучшения и исправления.
v2.8.7
— При копировании файлов в системные папки им теперь выставляются права 644
— Обновлен алгоритм сборки APK через apktool 2.x
— Логи теперь откываются в редакторе, ассоциированном в системе с файлами txt
— Обновлен apktool (2.0.0 rc2 от 05.10.2014), jadx (0.5.3 build 126).
v2.8.6
— Добавлено определение версии Java при запуске утилиты
— Обновлен aapt.exe для apktool 1.5.2
— Обновлен apktool (2.0.0 rc1 от 24.09.2014), jadx (0.5.3 build 126).
v2.8.5
— Немного увеличена скорость деодексации и рекомпиляции (примерно на 10-20%)
— Добавлена опция [87 Don’t write out debug info]
— Добавлена возможность выбора ключа для подписи APK, ZIP, и JAR файлов
— Обновлен apktool (2.0.0 rc1 от 27.08.2014), smali (2.0.3 от 28.08.2014), jadx (0.5.3 build 120).
v2.8.4
— Добавлена поддержка apk, содержащих несколько dex-файлов
— Обновлен apktool (2.0.0 rc1 от 16.08.2014), jadx (0.5.2).
v2.8.3
— Исправлена ситуация у некоторых пользователей, когда после декомпиляции папка разобранного приложения оказывалась пустой
— Обновлен jadx (0.5.2 build 102).
v2.8.2
— Добавлены операции пакетной установки приложений (в т.ч. на SD-карту) и копирования файлов в устройство
— Запрещен запуск нескольких копий утилиты
— Изменен метод вывода цветного текста (для переводчиков утилиты на русский и другие языки)
— Обновлен jadx (0.5.2 build 96).
v2.7
— Добавлено конвертирование unicode escapes в UTF-8 (smali).
— Добавлены цвета)
— Оптимизирован алгоритм детекта внесенных изменений, увеличена скорость рекомпиляции (до 2-х раз)
— Добавлены smali-baksmali версии 1.4.2.
— Обновлены бинарники aapt, adb и zipalign.
— Обновлен jadx (0.5.1 build 80).
— Исправлена некорректная дата в имени логов и скриншотов, если формат региональных стандартов отличен от русского.
v2.5
— Добавлена опция [86 Keep broken resources] для принудительной декомпиляции поврежденных ресурсов.
— Добавлена запись файлов а папку /system/priv-app.
— Теперь после каждой операции выводится предложение открыть лог.
— Обновлен apktool (2.0.0 rc1 от 25.05.2014), jadx (0.5.1 build 70).
v2.4.1
— Возвращен прежний алгоритм определения изменений в AndroidManifest.xml, без учета apktool.yml.
— Исправлено падение при работе с файлами, содержащими в имени скобки (), а также при вводе некоторых спецсимволов вместо номера пункта меню.
— Обновлен jadx (0.5.1 build 68).
v2.4
— Добавлена возможность выбрать для обработки один файл.
— Обновлен apktool (2.0.0 rc1), jadx (0.5.1 build 63).
— Исправлено сохранение изменений в apktool.yml.
— Мелкие улучшения.
v2.3
— Добавлена возможность подключения ADB по Wi-Fi.
— Исправлена запись видео командой [17].
— Обновлены бинарники adb и aapt.
— Мелкие улучшения.
v2.2
— Добавлен просмотр исходного Java кода APK, JAR и DEX файлов.
— Добавлена запись видео с экрана через ADB (требуется android 4.4 или выше).
— Изменена логика работы пунктов меню [11], [13], [14] и [15].
— Исправлена ошибка рекомпиляции c использованием apktool 1.x, появившаяся в v2.1.
v2.1
— Добавлена возможность создания и загрузки проектов.
— Пункты рекомпиляции и сборки результирующего APK объединены в один пункт.
— Опция подписи стала глобальной и теперь применяется ко всем выходным APK.
— Опция подписи включена по умолчанию
— Код smali при разборе через smali теперь соответствует коду smali при разборе через apktool.
— Исполняемые файлы программы перенесены в папку bin
Скачать:
Batch ApkTool 3.7.5 для 64-х битных Windows:
BatchApkTool375.7z ( 142 МБ )
Batch ApkTool 3.7.5 для 32-х битных Windows (Windows XP не поддерживается):BatchApkTool375_32bit.7z ( 85.3 МБ )