محصولات آموزشی نیک اندروید

آموزش دیکد برنامه ی اندرویدی و دسترسی به سورس آن

درود

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

یک برنامه از دو قسمت اصلی تشکیل شده است:

قسمت اول که مربوط به منابع برنامه است مثل فایلها ، عکسها ، دیتابیس ها ، لایه ها ، و سایر فایل های xml . برای بازیابی این موارد از ابزاری به نام apktool استفاده میکنیم.

قسمت دوم مربوط به سورس برنامه ، کدها و کلاسهای برنامه است. برای بازیابی این قسمت نیز از برنامه dex2jar استفاده میکنیم.

نکته اول: دو برنامه ذکر شده در بالا در فایل زیپ کنار آموزش قرار داره.

نکته دوم : قبل از دانلود jdk ابتدا فیلم آموزش رو ببنید (شاید اصلا لازم نباشه دانلود کنید)

p33

 

در صورت نیاز:

دانلود  JDK برای ویندوز های ۳۲ بیتی

دانلود JDK برای ویندوز های ۶۴ بیتی

—————————————————————————-

 

مدت زمان آموزش : ۲۰ دقیقه

حجم کل: ۶۲ مگابایت

رمز فایل فشرده: www.nikandroid.com

قیمت : ۵ هزار تومان

بیش از یک سال
تعداد نظرات :۵۷
بازدید : 46160

مدیر پوریا انجمنی

  1. hamid می‌گه:

    پوریا جان ممنون… فکر کنم به نوعی جواب منم داده باشی با این اموزش

  2. پزهام می‌گه:

    میشه سورس کدها رو تو eclipse باز کرد??

  3. ابی می‌گه:

    سلام اقای انجمنی
    تخفیفات اینده کی شروع میشه

  4. محمد می‌گه:

    سلام
    من یک مشکلی دارم اونم این که هروقت می خوام با findViewById ابجکتی رو تعریف کنم هر وقت R.id رومی زنم نام شی رو نمیاره.

  5. ابی می‌گه:

    سلا با استفاده از این اوزش به فایل های جاوای داخل پکیج نیز درسترسی خواهیم داشت مثل فایل های اکتیویتی یا فقط به پوشه resدسترسی داریم

  6. سامان می‌گه:

    با عرض سلام و خسته نباشید و تشکر از آموزش های خوبتون
    لطفاً آموزش های کار با pro gurd و dex gurd جهت ایمن کردن برنامه در مقابل دیکد شدن رو هم بگذارید.
    تشکر.

  7. majid می‌گه:

    سلام ببخشید تمام محصولات سایت باتخفیف ۵۰درصد شامل آموزش دیکد نمیشه ؟

  8. مجید می‌گه:

    اقای انجمنی پس چطور دانلود کنیم اینکه همون قیمته
    جایی برای کد تخفیف ندارد؟

  9. محمد می‌گه:

    سلام خسته نباشید برنامه واموزش فوق العاده بود ممنون دستتون درد نکنه میخواستم بدونم ایا میشه یه برنامه ی کاربردی مثلا سنتور رو دیکد کنم وایا اون برنامه هم با اکلیپس ساخته شده؟؟؟

  10. نوید می‌گه:

    سلام
    میشه یعنی اون برنامه هارو دقیقا مثل سورس کد توی اکلیپس بالا بیاریم؟

  11. fable می‌گه:

    سلام من هرکاری میکنم نمیشه اون path درست کرد تو سیستم من قبلش با آدرس پوشه کارت گرافیک شروع شده میشه لطف کنید آدرس کامل path اینجا بنویسید!خیلی ممنون

  12. fable می‌گه:

    اونو درست کردم اما در مرحله دیکامپایل کرذن s6.dex این پیغام میده
    C:\ZAPK\dex2jar>d2j-dex2jar.bat s6.dex
    Error occurred during initialization of VM
    Could not reserve enough space for object
    Could not create the Java virtual machine.

    مشکل از کجاست؟؟!!؟؟

  13. fable می‌گه:

    آقای انجمنی بعد ریسورس کردن چطوری بفهمم به کدوم برنامه نوشته شده(eclipse یا bs4)؟؟؟

  14. کیمیا قاسمی می‌گه:

    ایا میشه با این روش سورس برنامه ها رو در eclipse پیاده کرد
    و ایا میشه یه فایلapkرو به eclipse داد

  15. ارش رضا پور می‌گه:

    سلام
    من تمام مراحلو با موفقیت رفتم اما یه سوال بحث برانگیز
    یه نرم افزاری که اخبارشو کاربرا بهش میدن رو
    منابع و کد ها شو دارم
    اگه در نرم افزار خودم استفاده کنم نیازی به تغیر در کد نیست ،یکی خبر برام بفرسته واسه سرور اونا ارسال بشه چون مال اوناس
    شما نگفتید این موردو منتظر بودم که در اموزش بگید
    استاد لطفا راهنمایی کنید چطور از اون کد جاوا که به دست اوردم استفاده کنم
    اون ماژول ارسال خبر بود که میخوام تو برنامه خودم استفاده کنم ترسم از اینه که کاربرای من اخبار بفرستن اما به منبع سازنده ارسال بشه

  16. ارش رضا پور می‌گه:

    استاد سلام
    یه سوال داشتم
    اگه یه کد رو به دست بیارم و دستی استفاده کنم
    ایا اون کد مختص یه سرور هست یا ترسی از این بابت نداشته باشم
    از این جهت میگم شاید اختصاصی باشه و فقط بر روی سرور خودش استفاده بشه
    اون کد اینه:
    ارسال خبر به نرم افزار
    ممکنه کد های سرور جاوا استفاده شدخ باشه یا ن

  17. سلام
    برای بعضی از برنامه ها که در زمان کامپایل مبهم سازی نشده باشن بله میشه

  18. mrb می‌گه:

    سلام.خیلی ممنون بابت آموزش .بسیار عالی توضیح دادین.بنده فایل مورد نظرم رو دیکامپایل کردم و به منابع و سورس های اون هم دست پیدا کردم .اما الان میخوام بدونم چطور میشه تغییرات توی سورس های یک فایل apk انجام داد طوری که مشکلی پیش نیاد.چون من فایل class مورد نظرم روبا وینرار وقتی تغییر مید م و جایگزینش میکنم با فایل class قبلی گویا مشکلی بوجود میاد.چون وقتی با جاوا بازش میکنم همون فایل class رو خالی نشون داده میشه و بعضی وقتا هم توی اون فایل نوشته error .اگر میشه راهنمایی کنید چطور فایل ها رو میتونم ویرایش کنم ؟مرسی

  19. محمد می‌گه:

    با سلام
    یه سوال اینکه برنامه های نوشته شده در اکلیپس و اندروید استدیو،چه تفاوتی تو دیکد کردن دارن؟

  20. احسان می‌گه:

    وقتی دستور رو مینویسم و اینتر میزنم این ارور برای من ظاهر میشه مشکل از کجاست؟
    لینک عکس >>> http://rozup.ir/view/1279999/error.png

  21. محمد می‌گه:

    با سلام
    من با این روشی که گفتید،برنامه مد نظرم رو دیکد کردم و در حین انجام کار،دقیقا کارایی انجام شد که توضیح داده بودین و بدون ارور انجام شد.محتویات و سورس رو استخراج کردم
    سوالم اینکه،در بخش دوم که سورس رو دیکد میکنیم،همون سورس اصلی برنامس؟چیزی غیر اینا هست تو برنامه؟
    منظورم اینه که هرچی کد نوشته شده در برنامه رو استخراج میکنه؟

  22. امیر می‌گه:

    سلام و عرض خسته نباشید
    ما حالا یه برنامه رو دیکامبایل کردیم و تمام سورس کدشم استخراج کردیم
    سوال من این هست که ما از کجا باید بدونیم که کدها مربوط به کدام بخش از نرم افزار هست
    من قبلا با نرم افزار Androchef ;کدهای مربوط به java رو استخراج کرده بودم ولی انقدر تعداد کلاس ها زیاد بود که نمیدونستم کدام کدها مربوط به کدام بخش از نرم افزار هستند
    حالا سوالم اینه چطور باید اون کدارو تشخیص بدیم
    ایا راه حل یا اموزشی درباره این موضوع دادید؟

    • مدیر فنی می‌گه:

      سلام هر برنامه نویس روش مخصوص به خودش رو داره و باید به قدر کافی به کدنویسی مسلط بشین تا متوجه بشید هر کدی مربوط به چه قسمتی هست

  23. رضا می‌گه:

    سلام بنده با این روش خواستم یکی از برنامه های خودم رو دیکد کنم ولی خطای زیر رو داد:
    Error: Unable to access jarfile apktool.jar.
    من مسیر jdk رو هم مشخص کردم ولی باز هم همین خطا رو میده لطفا بگین چیکار کنم با تشکر

  24. سروش می‌گه:

    سلام ببخشید من طبق آموزش پیش رفتم ولی این ارور رو میده
    http://s7.picofile.com/file/8245294926/scrin.png
    البته وقتی ارور میده پوشه هم میسازه با اسم فایل apk اما اصلا شبیه فولدر توی آموزش نیست! داخل پوشه ای که هم اسم ای پی کی هست یه فولدر به اسم smali وجود داره و فرمت تمام فایلاشم smali هست!باید چیکار کنم؟!

  25. alireza می‌گه:

    سلام ، می تونم بسته آموزشی رو حضوری بخرم؟؟

  26. mahdi3751 می‌گه:

    سلام
    من برنامه ای رو که با اندروید استودیو نوشتم ، نتونستم که دیکد کنم ولی برنامه رو که با ایکلیپس نوشته بودم تونستم که دیکد کنم . آیا مشکل از کار من است یا کلا برنامه های نوشته شده توسط اندوید استودیو دیکد نمیشن ؟؟؟