آموزش تبدیل smali به java

در این آموزش چگونگی تبدیل فایلهایsmali به جاوا را آموزش می دهیم
فایلهای smali چه هستند؟ فایلهای قابل خوانا بصورت کدهای بایتی اندروید هستند. که به آنها دیکامپایل زبان Android bytecode نیز می گویند
زمانی که یک فایل smali را باز می کنید با میلیونها خط کد نویسی رو به رو می شوید
هدف از این آموزش تبدیل این فایلها به جاوا می باشد تا بتوان راحتر کدها را خواند و تغییرات مورد نظر را در آنها داد[/vc_column_text][vc_column_text]قبل از شروع آموزش این نکته را بگوییم که در آموزش این نکته که شما قادر به دیکامپایل یک فایل APK و استخراج فایل dex هستید در نظر گرفته شده تا از توضیحات اضافه جلوگیری شود.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_btn title=”آموزش کامپایل و دیکامپایل فایلهای jar وdex” style=”gradient” gradient_color_1=”green” link=”url:http%3A%2F%2Fwww.gsm-developers.com%2Fhow-to-decompile-and-recompile-jar-file-or-classes-dex%2F||target:%20_blank|rel:nofollow”][vc_btn title=”آموزش کامپایل و دیکامپایل فایلهای APK” style=”gradient” gradient_color_1=”blue” gradient_color_2=”green” link=”url:http%3A%2F%2Fwww.gsm-developers.com%2Fhow-to-decompile-and-recompile-apk%2F||target:%20_blank|rel:nofollow”][vc_text_separator title=”برنامه های مورد نیاز” color=”peacoc” border_width=”7″][vc_column_text]
ما در آموزش از فایل SystemUI.apk استفاده می کنیم شما می توانید از هر فایلی استفاده کنید فرقی ندارد[/vc_column_text][vc_column_text]
اول از همه فایل dex را استخراج کنید
با استفاده از dex2jar و یک دراگ ساده فایل خود را به jar تبدیل کنید
اکنون فایل jar را دیکامپایل کنید
اگر بخواهید می توانید کار را تا اینجا متوقف کرده و فایل خود را چک و ویرایشهای مورد نظر خود را انجام بدهید
[/vc_column_text][vc_column_text]اکنون نیاز به استخراج فایلهای جاوا داریم به مسیر file/save all sources می رویم
پیشنهاد میشه فایلها رو با اسم APK که دارید روش کار میکنید ذخیره کنید
[/vc_column_text][vc_column_text]فایل زیپی که درست شده را در همان مکان استخراج کنید
اکنون می توانید جاوا را با NotePad++ باز کنید،اکنون خیلی راحت می شود کدها را دید و فهمید در جاوا
با قابلیت Find In Files در Notepad++ می توانید جستجوی مورد نظر خود را انجام داده و مثلا اگر دنبال تغییر رنگی باشید آن را پیدا کنید
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_btn title=”برای ارائه سوالات و مشکلات به انجمن Gsm-Developers مراجعه نمایید” style=”3d” color=”green” link=”url:http%3A%2F%2Fforum.gsm-developers.com||target:%20_blank|rel:nofollow”][vc_column_text]هرگونه کپی برداری از متن بدون ذکر منبع شرعا حرام و مورد پسند نویسنده نمی باشد[/vc_column_text][/vc_column][/vc_row]





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