Smali و Baksmali ابزار ویرایش فایل های jar و dex در اندروید
سایت مرجع : [Only registered and activated users can see links. Click Here To Register...]
در مورد نرم افزار: این ابزار فایل های dex در سیستم عامل اندروید را اسمبل یا دی اسمبل میکند. این نرم افزار بر اصول ماشین مجازی جاوا در اندروید ( ماشین مجازی دلویک ) کار میکند.
پیشنیاز اجرای این نرم افزار، برنامه ی جاوا میباشد.
baksmali = فایل های dex را دی اسمبل میکند. ( فایل را باز میکند)
smali = فولدرهای باز شده را به پکیج dex اسمبل میکند. ( فایل باز شده را دوباره پکیج میکند.)
تمامی حقوق این نوشته متعلق به تیم آمستریس میباشد.
نوشتن این آموزش در سایت های دیگر غیر مجاز است.
اسکریپت انجام خودکار روند اسمالی یا بکسمالی
شما میتوانید اسکریپت هایی را خودتان تهیه کنید که دیگر نیازی به تایپ کردن کدهای بالا نباشد، آموزش زیر را برای نوشتن اسکریپت های خودکار دنبال کنید:
فایل های smali.jar و baksmali.jar را درون فولدری قرار دهید، برای مثال من آنها را درون فولدر amestis قرار میدهم.
نرم افزار Notepad++ را باز کنید و فایلی جدید را با نام BakSmali.bat درون فولدر amestris ایجاد کنید.
متن زیر را درون فایل کپی زده و آنرا ذخیره کنید:
کد:
@ECHO OFF
ECHO BakSmali AutoDecompile by Amestris Team
ECHO.
java -jar baksmali.jar -o out_folder *.dex
pause
exit
حالا میتوانید با اجرای Baksmali.bat براحتی فایل dex را دی اسمبل کنید.
توضیحات مربوط به کدهای نوشته شده:
3 خط اول که با دستور اکو شروع شده اند، متن های نوشته شده را نمایش میدهند
خط چهارم ، فایل dex موجود در فولدر amestris را جستجو کرده و آنرا به فولدر out_folder دی اسمبل میکند.
دقت کنید که فقط باید یک فایل dex در فولدر amestris وجود داشته باشد.
خط پنجم، دستور توقف را صادر میکند، که شما بتوانید لوگ را بخوانید، برای ادامه کلیدی را فشار میدهید و سپس برنامه خط ششم را میخواند که دستور خروج است، پس از آن صفحه ی برنامه بسته میشود.
حالا به فولدر out_folder رفته و ویرایش ها را انجام دهید.
پس از اتمام کار ویرایش، نوبت به اسمبل کردن فولدر out_folder به فایل dex میشود.
فایلی جدید به نام Smali.bat بسازید.
متن زیر را درون فایل کپی زده و آنرا ذخیره کنید.
کد:
@ECHO OFF
ECHO Smali AutoCompile by Amestris Team
ECHO.
java -jar smali.jar out_folder/ -o new_classes.dex
pasue
exit
دستور بالا فولدر out_foler را به فایل new_classes.dex اسمبل میکند.
مثال های متعددی اضافه خواهد شد...