آموزش تبدیل smali به java
با سلام امروز با آموزشی دیگر در خدمت همراهان همیشگی 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++ می توانید جستجوی مورد نظر خود را انجام داده و مثلا اگر دنبال تغییر رنگی باشید آن را پیدا کنید
هرگونه کپی برداری از متن بدون ذکر منبع شرعا حرام و مورد پسند نویسنده نمی باشد
خب وقتی اددیت کردیم چطوری به smali دوباره تغییرش بدیم؟
سلام ممنون بابت آموزش خوبتون
من تا مرحله ديکامپايل فایل jar انجام دادم و پوشه classoutهم ساخته شد اما مسيري که file/save all resourceرو متوجه نشدم از کجا بهش میشه دسترسی داشت
ممنون میشم اگه راهنمایی کنيد
ممنون بابت مطلب عالیتون واقعا مفید واقع شد برام.
چند نکته برای دوستانی که میخوان از این روش استفاده کنند:
1 – فایل apk رو در dex tools روی فایل dex2jar.bat یا اگر کاربر لینوکس هستید روی dex2jar.sh دراگ کنید که بعدش خروجی رو روی دسکتاپتون قرار میده.
2-فایل خروجی مرحله قبل رو باید با برنامه ی jd-gui باز کنید و بعد از اون روی منوی file در گوشه بالا سمت راست کلیک کنید و روی save all resources کلیک کنید.
3-باقی اموزش رو عادی و طبق مقاله پیش برید .
گویا بعضی از دوستان در این موارد مشکل داشتند.