Яка різниця між Смалі та Баксмалі?

smali/baksmali — це пара асемблер/дизассемблер для формату dex. Baksmali бере файл dex і створює читабельну збірку, а smali бере читабельну збірку та створює файл dex.

Смалі/Баксмалі є асемблер/дизассемблер для формату dex, який використовується dalvik, реалізація Java VM від Android. Назви «Smali» та «Baksmali» є ісландськими еквівалентами «монтажника» та «розбирача» відповідно.

Для запуску інструментів smali та baksmali з командного рядка побудувати жирні банки. Назви товстих jar будуть мати поточну версію, за якою йдуть перші 8 символів поточного хешу git, за якими слід необов’язковий -dirty, якщо репозиторій був брудним під час створення, і закінчується на -fat.

Код Smali представляє проміжну мову байт-коду програми Android. Коли програми для Android компілюються з вихідного коду Java/Kotlin, вони перетворюються на байт-код, який потім можна перетворити на код Smali, читабельний формат, який дозволяє нам досліджувати функціональність і поведінку програми.

Смалі є тип мови асемблера для віртуальної машини Dalvik, яка використовується пристроями Android. Він використовується для модифікації та зворотного проектування програм Android і дозволяє розробникам вносити зміни в байт-код програми.