آموزش زبان smali

به نام خدا


اسمالی یک زبان (human-readable) شبیه به اسمبلی هست که برای فایل های اجرایی دالویک(ART-Dalvik) به کار میره این زبان یک لایه حیاطی بین برنامه سطح بالای جاوا و بایت کد های سطح پایین که توسط Dalvik یا ART اجرا میشن هست و در تست نفوذ اپلیکیشن های اندرویدی به شدت کاربرد داره!
دالویک یا ART چیه؟
Dalvik یه ماشین مجازیه که برای اجرا کردن بایت کد های برنامه های اندرویدی استفاده میشه! این ماشین مجازی اختصاصی برای سیستم عامل اندروید طراحی شده تا نرم‌افزار های جاوایی که با مصرف بهینه منابع، عملکرد کنترل شده و… داخل سیستم اندرویدی اجرا بشن.
باید کد های Dalvik با پسوند .dex به اختصار (Dalvik Executable) داخل اپلیکیشن اندرویدی ذخیره میشن و smali یه زبان رابط بین زبان سطح بالای جاوا و بایت کد های دالویک هست
همچنین بعد تر ART به عنوان نسخه پیشرفته تر از Dalvik در اندروید 4 معرفی شد و در اندروبد 5 به طور کامل جایگزین دالویک شد اما این سیستم در اندروید 7 با ترکیب AOT/JIT راه حلی برای اجرای برنامه ها در سیستم هایی با منابع سخت افزاری کم ارائه کرد.