امنیت موبایل

چگونگی دیکامپایل کردن فایل های apk در اندروید

دیکامپایل کردن فایل های apk در اندروید

APK مخفف Android Application Package است و فرمت اصلی فایل‌های اجرایی در سیستم‌عامل اندروید محسوب می‌شود. این فایل شامل تمام بخش‌های موردنیاز برای نصب و اجرای یک اپلیکیشن روی دستگاه‌های اندرویدی است.
زمانی که پروژه در Android Studio کامپایل می‌شود، تمامی فایل‌های پروژه از جمله:

  1. فایل ‌AndroidManifest.xml
  2. فایل‌های Java یا Kotlin
  3. فایل‌های Layout
  4. تصاویر و فایل‌های رسانه‌ای
  5. کتابخانه‌ها و منابع پروژه

پردازش و ترکیب شده و در نهایت یک فایل APK تولید می‌شود.
در فرآیند Build، کدهای برنامه ابتدا به فایل‌های DEX تبدیل می‌شوند. فایل‌های DEX شامل Bytecode مخصوص ماشین مجازی اندروید هستند و سپس همراه سایر منابع پروژه در قالب یک فایل APK بسته‌بندی می‌شوند.
دیکامپایل کردن فایل APK به معنای استخراج فایل‌ها و بررسی ساختار داخلی اپلیکیشن است. البته باید توجه داشت که بازیابی کامل سورس‌کد اصلی از نسخه کامپایل‌شده همیشه امکان‌پذیر نیست؛ زیرا بخشی از اطلاعات در زمان کامپایل تغییر می‌کنند یا از بین می‌روند. با این حال، ابزارهای مختلفی برای تحلیل، بررسی و دیکامپایل فایل‌های APK وجود دارند که توسعه‌دهندگان از آن‌ها برای اهداف آموزشی، تحلیل امنیتی یا بررسی ساختار اپلیکیشن‌ها استفاده می‌کنند.

لذا در زیر روش دیکامپایل کردن فایل های APK با استفاده از ابزار آنلاین را مشاهده خواهیم کرد. استفاده از این ابزار بسیار آسان و بدون دردسر است.

مراحل دیکامپایل کردن فایل APK:

مرحله ۱: بازدید از وب سایت برای دیکامپایل کردن

به آدرس زیر بروید:
http://www.javadecompilers.com/

دیکامپایل کردن اندروید

مرحله ۲: آپلود کردن فایل APK

فایل APK را آپلود کنید تا فایل های منبع آن که فایل های دیکامپایل شده آپلود شده APK هستند، مشاهده شوند.

آپلود کردن فایل APK برای دیکامپایل

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

فایل های منابع اندروید

مرحله ۳: مشاهده فایل‌های جاوا/منبع

برای مشاهده فایل‌های جاوا، به پوشه منبع (Sources Folder) بروید.

فایل‌های جاوا در اندروید

مرحله ۴: در نهایت، پوشه منابع را مشاهده کنید.

پوشه منابع در اندروید

نتیجه گیری:

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

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

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