مبلغی انتخاب کنید :




×
Smali و Baksmali ابزار ویرایش فایل های jar و dex در اندروید
آيا ميدانيد؟
کاربر ویژه شوید !

شارژ موبايل تبلیغات

^ Back to Top
اطلاع رسانی های سیاره پی دی ای
دسترسی به بخش کاربری سیاره پی دی ای
مشخصات گوشی موردنظر خود را بصورت زنده ببینید!
نمایش نتایج: از 1 به 10 از 10

موضوع: Smali و Baksmali ابزار ویرایش فایل های jar و dex در اندروید

  1. Top | #1


    تاریخ عضویت
    May 2012
    عنوان کاربر
    مدیر ارشد انجمن
    شماره عضويت
    6
    محل سکونت
    بوشهر
    نوشته ها
    2,374
    می پسندم
    1,573
    سپاس از شما
    8,720 بار در 2,214 پست
    اپراتور
    Iran
    مدال ها

    مدال اول مدال دوم مدال سوم مدال چهارم مدال پنجم
    اطلاعات کامپیوتر
    میزان امتیاز
    364

    Smali و Baksmali ابزار ویرایش فایل های jar و dex در اندروید

    سایت مرجع : [فقط کاربران ثبت نام شده قادر به مشاهده لینکها هستند . ]

    در مورد نرم افزار: این ابزار فایل های dex در سیستم عامل اندروید را اسمبل یا دی اسمبل میکند. این نرم افزار بر اصول ماشین مجازی جاوا در اندروید ( ماشین مجازی دلویک ) کار میکند.



    پیشنیاز اجرای این نرم افزار، برنامه ی جاوا میباشد.


    baksmali = فایل های dex را دی اسمبل میکند. ( فایل را باز میکند)
    smali = فولدرهای باز شده را به پکیج dex اسمبل میکند. ( فایل باز شده را دوباره پکیج میکند.)




    تمامی حقوق این نوشته متعلق به تیم آمستریس میباشد.
    نوشتن این آموزش در سایت های دیگر غیر مجاز است.


    موضوعات مشابه:
    ویرایش توسط M_Javad_Nazari : Sunday 22 July 12 در ساعت 10:02

    کاربران عزیز، لطفا سئوالات را در تاپیک مربوط به خودشون بپرسید ، از طریق پیام خصوصی هیچ گونه جوابی داده نخواهد شد.

    با حمایت مالی از انجمن ، شما هم با ما در بهبود و پیشرفت سایت سهیم باشید.


    لظفا برای فرستادن فایل های متنی از قبیل log و پیغام های خطای طولانی ،از HasteBin یا PasteBin استفاده کنید.

    10 کاربر پست M_Javad_Nazari عزیز را پسندیده اند .



  2. # ADS

  3. Top | #2


    تاریخ عضویت
    May 2012
    عنوان کاربر
    مدیر ارشد انجمن
    شماره عضويت
    6
    محل سکونت
    بوشهر
    نوشته ها
    2,374
    می پسندم
    1,573
    سپاس از شما
    8,720 بار در 2,214 پست
    اپراتور
    Iran
    مدال ها

    مدال اول مدال دوم مدال سوم مدال چهارم مدال پنجم
    اطلاعات کامپیوتر
    میزان امتیاز
    364
    کدهای کاربردی برای کار کردن با این 2 نرم افزار

    توضیحات :

    1- دستورات از طریق CMD باید وارد شوند
    - به این منظور باید command prompt ویندوز را باز کنید و سپس به آدرسی بروید که فایل های smali و baksmali وجود دارند.
    میتوانید از روش زیر که خیلی سریعتر خواهد بود استفاده کنید.

    فایل های دانلود شده را به smali.jar و baksmali.jar تغییر نام دهید، ( به منظور کد دهی آسانتر) ، فایل های smali و baksmali را درون فولدری بریزید، برای مثال ما از فولدر amestris استفاده میکنیم.

    دکمه ی shift بر روی کیبورد کامپیوتر را نگه داشته و بر روی فولدر amestris راست کلیک کنید و گزینه ی Open command windows here را انتخاب کنید.
    [فقط کاربران ثبت نام شده قادر به مشاهده لینکها هستند . ]

    پنجره ی CMD ظاهر میشود که در آدرس فولدر amestris قرار دارد، حالا میتوانید دستورات را اجرا کنید.

    دقت کنید که برای اجرای دستورات باید از بودن فایل هایی که دستور میگیرند در آدرس بالا موجود باشند.

    برای مثال اگر شما فایل classes.dex را بازخوانی میکنید، باید از بودن فایل نامبرده در کنار فایل های smali و baksmali مطمئن شوید.



    برای باز کردن یک فایل دکس دستور باید بصورت زیر تایپ شود.
    کد:
    java -jar baksmali.jar -o <output directory> <.dex file>
    این دستور فایل dex را که معرفی کرده اید ، به فولدری که نام داده اید ، باز میکند.

    برای مثال:
    کد:
    java -jar baksmali.jar -o services.jar.folder classes.dex
    این دستور فایل classes.dex را که از فایل services.jar استخراج کرده ایم را باز میکند و به فولدر services.jar.folder کپی میزند.

    پس از اجرای دستور، فولدری جدید به نام services.jar.folder ایجاد خواهد شد.


    برای پکیج کردن یک فولدر به فایل دکس،باید دستور زیر تایپ شود.
    کد:
    java -jar smali.jar <input directory> -o <.dex file>
    برای مثال، فولدر services.jar.folder را که اکسترکت کرده ایم را میخواهیم پس از تغییرات به فایل classes_edit.dex پکیج (اسمبل) کنیم.
    کد:
    java -jar smali.jar services.jar.folder -o classes_edit.dex
    فایل جدید classes_edit.dex در کنار فایل های موجود ساخته خواهد شد

    ویرایش توسط M_Javad_Nazari : Sunday 22 July 12 در ساعت 09:31

    کاربران عزیز، لطفا سئوالات را در تاپیک مربوط به خودشون بپرسید ، از طریق پیام خصوصی هیچ گونه جوابی داده نخواهد شد.

    با حمایت مالی از انجمن ، شما هم با ما در بهبود و پیشرفت سایت سهیم باشید.


    لظفا برای فرستادن فایل های متنی از قبیل log و پیغام های خطای طولانی ،از HasteBin یا PasteBin استفاده کنید.

    10 کاربر پست M_Javad_Nazari عزیز را پسندیده اند .



  4. Top | #3


    تاریخ عضویت
    May 2012
    عنوان کاربر
    مدیر ارشد انجمن
    شماره عضويت
    6
    محل سکونت
    بوشهر
    نوشته ها
    2,374
    می پسندم
    1,573
    سپاس از شما
    8,720 بار در 2,214 پست
    اپراتور
    Iran
    مدال ها

    مدال اول مدال دوم مدال سوم مدال چهارم مدال پنجم
    اطلاعات کامپیوتر
    میزان امتیاز
    364
    به علت اینکه سایت مبدا ایران رو تحریم کرده، آخرین نسخه ها رو همینجا میذارم.




    دریافت نسخه های smali و baksmali نسخه ی 1.3.3 از سرور مدیا فایر

    مشخصات فایل : bak-smali-1.3.3.zip - 984.52KB

    [فقط کاربران ثبت نام شده قادر به مشاهده لینکها هستند . ]





    ویرایش توسط M_Javad_Nazari : Tuesday 17 July 12 در ساعت 00:59

    کاربران عزیز، لطفا سئوالات را در تاپیک مربوط به خودشون بپرسید ، از طریق پیام خصوصی هیچ گونه جوابی داده نخواهد شد.

    با حمایت مالی از انجمن ، شما هم با ما در بهبود و پیشرفت سایت سهیم باشید.


    لظفا برای فرستادن فایل های متنی از قبیل log و پیغام های خطای طولانی ،از HasteBin یا PasteBin استفاده کنید.

    10 کاربر پست M_Javad_Nazari عزیز را پسندیده اند .



  5. Top | #4


    تاریخ عضویت
    May 2012
    عنوان کاربر
    مدیر ارشد انجمن
    شماره عضويت
    6
    محل سکونت
    بوشهر
    نوشته ها
    2,374
    می پسندم
    1,573
    سپاس از شما
    8,720 بار در 2,214 پست
    اپراتور
    Iran
    مدال ها

    مدال اول مدال دوم مدال سوم مدال چهارم مدال پنجم
    اطلاعات کامپیوتر
    میزان امتیاز
    364

    اسکریپت انجام خودکار روند اسمالی یا بکسمالی

    شما میتوانید اسکریپت هایی را خودتان تهیه کنید که دیگر نیازی به تایپ کردن کدهای بالا نباشد، آموزش زیر را برای نوشتن اسکریپت های خودکار دنبال کنید:

    فایل های 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 اسمبل میکند.






    مثال های متعددی اضافه خواهد شد...

    ویرایش توسط M_Javad_Nazari : Sunday 22 July 12 در ساعت 09:52

    کاربران عزیز، لطفا سئوالات را در تاپیک مربوط به خودشون بپرسید ، از طریق پیام خصوصی هیچ گونه جوابی داده نخواهد شد.

    با حمایت مالی از انجمن ، شما هم با ما در بهبود و پیشرفت سایت سهیم باشید.


    لظفا برای فرستادن فایل های متنی از قبیل log و پیغام های خطای طولانی ،از HasteBin یا PasteBin استفاده کنید.

    7 کاربر پست M_Javad_Nazari عزیز را پسندیده اند .



  6. Top | #5


    تاریخ عضویت
    May 2012
    عنوان کاربر
    مدیر ارشد انجمن
    شماره عضويت
    6
    محل سکونت
    بوشهر
    نوشته ها
    2,374
    می پسندم
    1,573
    سپاس از شما
    8,720 بار در 2,214 پست
    اپراتور
    Iran
    مدال ها

    مدال اول مدال دوم مدال سوم مدال چهارم مدال پنجم
    اطلاعات کامپیوتر
    میزان امتیاز
    364
    مثال ها




    برای فیرمور ODEX


    برای دیکامپایل کردن فایل services.jar در فیرمورهای رسمی سامسونگ که به BootClasses وابسته هستند:
    کد:
    java -jar baksmali.jar -c :core.jar:bouncycastle.jar:ext.jar:framework.jar:android.policy.jar:services.jar:core-junit.jar -xa 10 services.odex -o services.jar.out
    برای اسملی کردن
    کد:
    java -jar smali.jar sevices.jar.out -o classes.dex


    برای دیکامپایل کردن فایل framework.jar در فیرمورهای رسمی سامسونگ که به BootClasses وابسته هستند:

    کد:
    java -jar baksmali.jar -c :core.jar:bouncycastle.jar:ext.jar:framework.jar:android.policy.jar:services.jar:core-junit.jar -xa 10 framework.odex -o framework.jar.out
    برای اسملی کردن
    کد:
    java -jar smali.jar framework.jar.out -o classes.dex

    برای دیکامپایل کردن فایل android.policy.jar در فیرمورهای رسمی سامسونگ که به BootClasses وابسته هستند:

    کد:
    java -jar baksmali.jar -c :core.jar:bouncycastle.jar:ext.jar:framework.jar:android.policy.jar:services.jar:core-junit.jar -xa 10 android.policy.odex -o android.policy.jar.out
    برای اسملی کردن
    کد:
    java -jar smali.jar android.policy.jar.out -o classes.dex


    ویرایش توسط M_Javad_Nazari : Monday 01 December 14 در ساعت 10:49

    کاربران عزیز، لطفا سئوالات را در تاپیک مربوط به خودشون بپرسید ، از طریق پیام خصوصی هیچ گونه جوابی داده نخواهد شد.

    با حمایت مالی از انجمن ، شما هم با ما در بهبود و پیشرفت سایت سهیم باشید.


    لظفا برای فرستادن فایل های متنی از قبیل log و پیغام های خطای طولانی ،از HasteBin یا PasteBin استفاده کنید.

    6 کاربر پست M_Javad_Nazari عزیز را پسندیده اند .



  7. Top | #6


    تاریخ عضویت
    December 2013
    عنوان کاربر
    عضو انجمن
    شماره عضويت
    15729
    نوشته ها
    8
    می پسندم
    30
    سپاس از شما
    19 بار در 5 پست
    كشور
    Iran
    موبايل
    HTC-HD-2
    اپراتور
    Iran
    میزان اعتبار کاربر
    0 تومان
    مبلغ حمایت شده از کاربر
    0 تومان
    اطلاعات کامپیوتر
    میزان امتیاز
    0
    بعدش یک سوال،
    فایل های با فرمت smali رو چطوری ادیت میکنید؟
    من باید یک فایل smali رو ادیت کنم و متاسفانه زبونش خیلی نا مفهومه و آشنایی ای باش ندارم، مثلا اگه میشد اسمالی رو به جاوا تبدیل کرد خیلی خوب بود
    دوستان کسی میتونه راهنمایی کنه؟


  8. Top | #7


    تاریخ عضویت
    January 2013
    عنوان کاربر
    کاربر متخصص
    شماره عضويت
    2036
    نوشته ها
    166
    می پسندم
    132
    سپاس از شما
    698 بار در 162 پست
    كشور
    Iran
    موبايل
    Samsung-SGH-I9000-Galaxy-S
    موبايل
    Nokia-5800-XpressMusic
    اپراتور
    Iran
    میزان اعتبار کاربر
    2,000 تومان
    مبلغ حمایت شده از کاربر
    4000 تومان
    اطلاعات کامپیوتر
    میزان امتیاز
    162
    نقل قول نوشته اصلی توسط Mo30HD2 نمایش پست ها
    بعدش یک سوال،
    فایل های با فرمت smali رو چطوری ادیت میکنید؟
    من باید یک فایل smali رو ادیت کنم و متاسفانه زبونش خیلی نا مفهومه و آشنایی ای باش ندارم، مثلا اگه میشد اسمالی رو به جاوا تبدیل کرد خیلی خوب بود
    دوستان کسی میتونه راهنمایی کنه؟
    [فقط کاربران ثبت نام شده قادر به مشاهده لینکها هستند . ]

    3 کاربر پست Alireza7991 عزیز را پسندیده اند .



  9. Top | #8


    تاریخ عضویت
    May 2015
    عنوان کاربر
    عضو انجمن
    شماره عضويت
    152326
    نوشته ها
    1
    می پسندم
    0
    سپاس از شما
    0 بار در 0 پست
    كشور
    Iran
    موبايل
    Samsung-I9100-Galaxy-S-II
    اپراتور
    Iran
    میزان اعتبار کاربر
    0 تومان
    مبلغ حمایت شده از کاربر
    0 تومان
    اطلاعات کامپیوتر
    میزان امتیاز
    0
    با سلام و عرض ادب
    واقعا توضیحات خوب و کاملی بود
    یه سوال
    بعد از ادیت کردن فایل های مورد نظر چجوری میتونم فایل java را به class تبدیل کنم؟
    با تشکر


  10. Top | #9


    تاریخ عضویت
    October 2016
    عنوان کاربر
    عضو انجمن
    شماره عضويت
    162094
    نوشته ها
    1
    می پسندم
    0
    سپاس از شما
    0 بار در 0 پست
    اطلاعات کامپیوتر
    میزان امتیاز
    0
    سلام
    مطلب بسیار عالی و مفیدی بود برای من دستتون درد نکنه

    یک سوال دارم اگه لطف کنید و راهنمایی کنید ممنون خواهم بود
    قبلش این رو بگم که شما در این آموزش گفتید فایل dex رو از jar استخراج کردید اما برای من موقع ویرایش فایل apk فایل dex داخل آن قرار دارد که هنگام کامپایل، فایل jar از فایل dex استخراج شد.

    من قصد ویرایش یک فایل apk رو دارم و طبق مراحل زیر اقدام کردم:
    1- فایل apk را با برنامه winrar باز کرده و classes.dex را برداشتم
    2- فایل dex را با برنامه AndroChef Java Decompiler به فایل jar دیکامپایل کردم
    3- فایل jar را با winrar باز کردم که داخل آن تعدادی فولدر و داخل هر فولدر فایل هایی با پسوند java بود
    4- فایل xxxx.java مورد نظر را پیدا و ویرایش کردم و دوباره از طریق برنامه winrar داخل فایل jar قرار دادم

    حالا نمیدونم چطوری این فایل ویرایش شده jar را دوباره به dex تبدیل کنم
    از برنامه ی DJ Java Decompiler هم برای کامپایل و ویرایش فایل jar استفاده کردم ولی برای کامپایل دوباره 5-6 تا باکس دارد که باید آدرس دهی کنم که متوجه نشدم و اینکه در باکس آدرس سورس، نام تک تک فایل ها را می خواهد و امکان انتخاب فولدر نیست!!!!

    تلاش کردم از فایل های apktool-2.2 و smali-2.2 و baksmali-2.2 هم استفاده کنم که اینها هم هنگام اجرا خطا میدن مانند زیر:

    Exception in thread "main" com.beust.jcommander.MissingCommandException: Expected a command, got azz.folder
    at com.beust.jcommander.JCommander.parseValues(JComma nder.java:783)
    at com.beust.jcommander.JCommander.parse(JCommander.j ava:282)
    at com.beust.jcommander.JCommander.parse(JCommander.j ava:265)
    at org.jf.smali.Main.main(Main.java:87)


    لطفا درصورت امکان راهنمایی کنید.

    ویرایش توسط zebelxan : Sunday 30 October 16 در ساعت 16:50

  11. Top | #10


    تاریخ عضویت
    August 2013
    عنوان کاربر
    عضو انجمن
    شماره عضويت
    9689
    نوشته ها
    1
    می پسندم
    0
    سپاس از شما
    0 بار در 0 پست
    كشور
    Iran
    موبايل
    Samsung
    میزان اعتبار کاربر
    0 تومان
    مبلغ حمایت شده از کاربر
    0 تومان
    اطلاعات کامپیوتر
    میزان امتیاز
    0
    نقل قول نوشته اصلی توسط Alireza7991 نمایش پست ها
    [فقط کاربران ثبت نام شده قادر به مشاهده لینکها هستند . ]
    سلام. دوست عزیز برنامه ای هست که .java به .smali تغییر پیدا کنه؟
    من اپلیکیشن با فرمت .akp کام\ایل کردم بعد واسه ویرایش چنتا فایلو از فرمت .smali به .java تغییر دادم
    حالا حتما باید مجدد فایلهایی که به .java تغییر دادم رو به .smali تغییر بدم بعد ریکامپایل کنم؟ یا همینطوری بدون مشکل ریکامپایل میشه و میتونم از اپلیکیشن ویرایش شده استفاده کنم؟


کلمات کلیدی این موضوع

بوک مارک ها

بوک مارک ها

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •