11 / 07 / 1401
Asia/Tehran 21:16

با سلام امروز با آموزشی دیگر در خدمت همراهان همیشگی Gsm-Developers هستیم

در این آموزش چگونگی تبدیل فایلهایsmali به جاوا را آموزش می دهیم

فایلهای smali چه هستند؟ فایلهای قابل خوانا بصورت کدهای بایتی اندروید هستند. که به آنها دیکامپایل زبان Android bytecode نیز می گویند

زمانی که یک فایل smali را باز می کنید با میلیونها خط کد نویسی رو به رو می شوید

هدف از این آموزش تبدیل این فایلها به جاوا می باشد تا بتوان راحتر کدها را خواند و تغییرات مورد نظر را در آنها داد

قبل از شروع آموزش این نکته را بگوییم که در آموزش این نکته که شما قادر به دیکامپایل یک فایل APK و استخراج فایل dex هستید در نظر گرفته شده تا از توضیحات اضافه جلوگیری شود.

برنامه های مورد نیاز

ما در آموزش از فایل SystemUI.apk استفاده می کنیم شما می توانید از هر فایلی استفاده کنید فرقی ندارد

اول از همه فایل dex را استخراج کنید

با استفاده از dex2jar و یک دراگ ساده فایل خود را به jar تبدیل کنید

اکنون فایل jar را دیکامپایل کنید

اگر بخواهید می توانید کار را تا اینجا متوقف کرده و فایل خود را چک و ویرایشهای مورد نظر خود را انجام بدهید

اکنون نیاز به استخراج فایلهای جاوا داریم به مسیر file/save all sources می رویم

پیشنهاد میشه فایلها رو با اسم APK که دارید روش کار میکنید ذخیره کنید

فایل زیپی که درست شده را در همان مکان استخراج کنید

اکنون می توانید جاوا را با NotePad++ باز کنید،اکنون خیلی راحت می شود کدها را دید و فهمید در جاوا

با قابلیت Find In Files در Notepad++ می توانید جستجوی مورد نظر خود را انجام داده و مثلا اگر دنبال تغییر رنگی باشید آن را پیدا کنید

هرگونه کپی برداری از متن بدون ذکر منبع شرعا حرام و مورد پسند نویسنده نمی باشد


439 نوشته
محسن هستم 30 ساله طرفدار دنیایی متنوع اندروید و کاستوم رامها در Gsm-Developers

3 Comments

  1. صادق

    خب وقتی اددیت کردیم چطوری به smali دوباره تغییرش بدیم؟

  1. hashemi

    سلام ممنون بابت آموزش خوبتون
    من تا مرحله ديکامپايل فایل jar انجام دادم و پوشه classoutهم ساخته شد اما مسيري که file/save all resourceرو متوجه نشدم از کجا بهش میشه دسترسی داشت
    ممنون میشم اگه راهنمایی کنيد

  1. ممد

    ممنون بابت مطلب عالیتون واقعا مفید واقع شد برام.
    چند نکته برای دوستانی که میخوان از این روش استفاده کنند:
    1 – فایل apk رو در dex tools روی فایل dex2jar.bat یا اگر کاربر لینوکس هستید روی dex2jar.sh دراگ کنید که بعدش خروجی رو روی دسکتاپتون قرار میده.
    2-فایل خروجی مرحله قبل رو باید با برنامه ی jd-gui باز کنید و بعد از اون روی منوی file در گوشه بالا سمت راست کلیک کنید و روی save all resources کلیک کنید.
    3-باقی اموزش رو عادی و طبق مقاله پیش برید .
    گویا بعضی از دوستان در این موارد مشکل داشتند.

پاسخ دهید

فیلدهای مورد نیاز با * علامت گذاری شده اند

*

code