javaآموزشبرنامه نویسیموبایل

آموزش دیکامپایل کردن اپلیکیشن اندروید

آموزش decompile کردن اپلیکیشن اندروید

خیلی وقت ها براتون پیش اومده که یه برنامه ای رو دانلود می کنید و میخوایید ببینید افکتی که توی برنامه استفاده شده به چه شکلی کد نویسی شده یا اینکه سطح دسترسی های اون رو چک کنید و بخواید تغییراتی رو توی برنامه ایجاد کنید، اینجاست که دیکامپایل کردن یا مهندسی معکوس یا decompile به کارتون میاد.

شما با این ترفند در واقع به سورس برنامه پی می برید و می تونید اپلیکیشن رو با توجه به توانایی هاتون و خلاقیتی که دارید توسعه بدید. خب فک کنم توضیح کافی باشه و بریم سر اصل مطلب.

apk decompiler - آموزش دیکامپایل کردن اپلیکیشن اندروید

دانلود پیش نیاز ها برای مهندسی معکوس و دی‌کامپایل کردن فایل‌های APK 

همونطور که میدونید، اندروید بیس جاوا داره و برای اینکه بتونید عمل دیکامپایل رو انجام بدید، لازمه که حتما JDK جاوا رو روی سیستم خودتون نصب داشته باشید که برای دانلودش میتونید به این لینک مراجعه کنید.

  • تذکر : با توجه به معماری سیستمتون اقدام به دانلود jdk کنید و همیشه از آخرین نسخه استفاده کنید.
  • نکته : با نصب jdk جاوا، jre رو هم درخودش داره و باهاش نصب میشه و لازم نیست جداگونه نصبشون کنید.

بعد از اون به apktool احتیاج دارید و یه سری برنامه های دیگه که برای decompile بهش احتیاج خواهید داشت که این ها رو میتونید از اینجا دانلود کنید.

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

‫30 دیدگاه ها

  1. سلام ببخشید پسورد فایل Apktool-dex2jar-kaliboys.com_ میشه بیزحمت بفرمایید

  2. سلام وقت بخیر ببخشید سوالی دارم ممنون میشم پاسخگو باشید
    من یه اپلیکیشنی چند سال پیش ساختم الان کد امضاء و یادم نیست و برای آبدیت کردن به این نیاز دارم چطور میتونم پیداکنم با برنامه قبلیش و تبدیل به سورس کنم کجا باید دنبالش بگردم

    1. سلام وقت بخیر،
      3 روش پیشنهادی برای شما:
      بازیابی کد امضاء: اگر کد امضاء (keystore) را گم کرده‌اید، این ممکن است به معنای عدم توانایی در آپدیت نرم‌افزار شما باشد. در این صورت، تنها راه حل، بازسازی کد امضاء است. اگر از Android Studio برای توسعه استفاده کرده‌باشید، می‌توانید کد امضاء را از طریق “Build” > “Generate Signed Bundle/APK” بازسازی کنید، اگر که هنوز کد امضاء اصلی در دسترس دارید.

      بازیابی منبع (سورس) اپلیکیشن: اگر کد منبع اپلیکیشن را گم کرده‌اید، این موضوع پیچیده‌تر است. بدون دسترسی به کد منبع اصلی، نمی‌توانید آپدیت‌ها را انجام دهید یا خطاهای احتمالی را برطرف کنید. در این مورد، بهترین راهکار این است که از پشتیبان‌گیری‌های قبلی یا سیستم‌های کنترل نسخه (Version Control Systems) مانند Git یا SVN استفاده کنید. اگر این نرم‌افزار را با گیت مدیریت کرده‌باشید، می‌توانید تاریخچه تغییرات را بازیابی کنید.

      ارتباط با پلتفرم‌ها: اگر اپلیکیشن شما در فروشگاه‌هایی مانند Google Play یا App Store منتشر شده است، ممکن است با پشتیبانی این پلتفرم‌ها تماس بگیرید و موضوع را با آنها مطرح کنید. اگرچه این احتمالاً زمان‌بر و دشوار است، اما اگر دلایل مشروح شما را توضیح دهید، شاید بتوانند به شما راهنمایی کنند.

  3. سلام . برنامه spoot player دارم و یک دوره آموزشی رو خریداری کردم. روی لب تاب ویندوزم پرید و کد ریجستری عمل نمیکنمه الان . فقط روی گوشی دسترسی دارم . میخواستم فیلم هاشو استراج کنم که اگر احیانا گوشیم هم بفنا رفت حداقل داشته باشم دوره رو . میشه ی بزگورای کنید بگید من چطور این رو استخراج کنم که نیازی به برنامه spoot player نداشته باشم و نگرانی راجع به حذف شدنش نداشته باشم ؟ ممنون میشم راهنمایی کنید.متشکرم

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

  4. سلام وقتتون بخیر
    ممنون از آموزش خوبتون
    با این روشی که آموزش دادید یه برنامه ای رو دیکامپایل کردم و میخوام تغییراتی ایجاد کنم و دوباره خروجی apk بگیرم
    چطوری میتونم توی اندروید استودیو رانش کنم؟

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

  6. سلام
    ممنون از آموزشتون
    من میخوام یه اپلیکیشن توی بازار رو دیکامپایل کنم.
    چطور باید اون اپلیکیشن رو روی کامپیوتر داشته باشم؟
    با بلواستکس که روی کامپیوتر نصب کردم، فقط شرت کاتش روی دسکتاپ میاد که تبدیل به زیپ نمیشه.
    لطفا راهنمایی کامل بکنید دوستان
    ممنونم

  7. سلام. اینکارارو کردم و فایل apk رو دیکامپایل کردم و با نوت پد ++ یه جای کدشو تغییر دادم (تبلیغات رو حذف کردم) میخوام بدونم الان چجوری باید اینارو کامپایل کنم تا یه فایل apk سالم بهم بده؟

  8. سلام دوست عزیز آیا می شود با این روش مقادیری که در برنامه می خواهیم رو تغییر دهیم با تشکر

  9. سلام عالی بود فقط اپ هایی که با زبان کاتلین نوشته شده چطور دیکامپایل کنیم ؟؟؟ چون این روش براشون جواب نمیده میزنه ساپورت نمیکنه

  10. آیا امکان دارد بعد از اینکه به کدها دسترسی پیدا کردیم. در آنها تغییرات ایجاد کنیم و دوباره تبدیل به فرمت dex کنیم و با فایل اصلی جا به جا کنیم؟!

    1. با سلام
      بله باید حتما فایل رو دوباره sign کنید. البته این درصورتی هست که اون برنامه از الگوریتم رمزنگاری استفاده نکرده باشه و بشه کد ها رو راحت خوند و تغییر داد
      در غیر اینصورت شدنی نیست

      موفق باشید

      1. سلام وقت بخیر
        ایا راهی وجود داره که بشه الگوریتم رمزنگاری رو دور زد؟یا انکد کرد؟

        1. با سلام و وقت بخیر

          واسه دور زدن کد های انکریپت شده،باید دکریپتر مختص به همون رمزنگاری رو داشته باشید
          تا بتونید رمزگشایی کنید
          در غیر اینصورت راهی نیست

          اما منظورتون از انکد Encode رو متوجه نشدم
          انکد کردن چی ؟

          موفق باشید

  11. salam , man hamin moshkelo zamani ke “Java development kit 14” ro nasb kardam dashtam . badesh “Java development kit 8” ro nasb kardam ok shod

  12. به نام خدا
    1-لینک ها قابلیت دانلود رو ندارن
    2-من از جایی دیگه این نرم افزار رو دانلود کردم
    3-برای من cmdاین نرم افزار رو پیدا نمیکنه؟؟؟

    1. داخل پوشه کلید شیفت رو بگیر کلیک راست کن cmd میاد برات تو گزینه ها اجراش کن

  13. سلام خسته نبایشد ممنون از آموزش مفیدی که زحمت کشیدید
    من وقتی انجام میدم تمام مراحل به این جا که میرسم این خطا رو میده
    C:\Users\office\Apktool\dex2jar>dex2jar.bat nna.dex
    ‘java’ is not recognized as an internal or external command,
    operable program or batch file.
    حتی بعدش هم رفتم از Environment Variablesمسیر جاوا رو بهش معرفی کردم ولی بازم همین خطا رو میده ممنون میشم جواب بدید

  14. وقتی تو cmd فایل dex2jar.bat رو با ورودی یکی از کلاسای اپلیکیشن ران میکنم این ارور رو میده:
    Could not find or load main class com.googlecode.dex2jar.v3.Main

    1. سلام.ممنون از سایت خوبتون وآموزش .
      من آموزش رو دنبال کردم.نیازدارم یک بولین رو از True به false ویرایش کنم.ولی توی آندرویداستودیو میزنه فایل فقز خواندنی هست.از نرم افزارجاوا ادیتور استفاده کردم ویرایش میشه اما فایل بجای اینکه با همون پسوند class. ذخیره بشه باپسوندjar ذخیره میشه ونمیتونم مجدد فایل dex رو باهاش بسازم.چه جور میتونم بدون تغییر درپسوند فایل اونو ویرایش کنم؟
      کلا یک بولین توی فایل dex یهapkروباید تغییربدم.

دیدگاهتان را بنویسید

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


دکمه بازگشت به بالا