به عنوان یک توسعه دهنده و دولوپر شاید این کنجکاوی برای شما هم پیش اومده باشه که دوست داشته باشید که به سورس بعضی اپ ها نگاهی بندازید و ببینید که چطوری پیاده سازی شدن. قطعا فایل های پکیح اندروید با پسوند apk هم از این مورد مستثنی نیستند.

ابزار هایی که میخوام اینجا معرفی کنم dex2jar و jd-gui هستند که شاید برخی از شما دوستان با اون آشنایی داشته باشید. با استفاده از این دو ابزار شما قادر خواهید بود به سورس کد جاوای فایل های apk دسترسی پیدا کنید.

البته لازم به ذکر هستش که در صورتی که توسعه دهنده های پکیج مورد نظر از تکنیک obfuscate یا همون مبهم کردن کد استفاده کرده باشند کار برای شما کمی سخت خواهد بود. لازم به ذکر هست که شاید خوشبختانه یا متاسفانه توسعه دهنده های داخلی زیاد به این مورد توجهی ندارند.

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

cd /opt
wget https://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip
sudo unzip -x dex2jar-0.0.9.15.zip
sudo mv -v dex2jar-0.0.9.15 dex2jar
sudo ln -s /opt/dex2jar/dex2jar.sh /usr/bin/dex2jar

بعد از انجام عملیات فوق میتونید به راحتی و تنها با وارد کردن دستوری شبیه به این در ترمینال فایل apk مورد نظر خودتون را به فایل jar تبدیل کنید.

dex2jar example.apk

بسیار خوب، تا اینجا فایل apk شما به فایل jar تبدیل شده اما برای مشاهده کد نیاز به نرم افزار Java Decompiler دارید که نحوه استفاده از اون هم پیچیدگی خاصی نداره و فقط کافی هست که مطابق دستور زیر برنامه را دریافت و اجرا کنید.

cd /opt
wget http://jd.benow.ca/jd-gui/downloads/jd-gui-0.3.5.linux.i686.tar.gz
sudo tar xfv jd-gui-0.3.5.linux.i686.tar.gz
sudo mv -v jd-gui-0.3.5.linux.i686 jd-gui
sudo ln -s /opt/jd-gui/jd-gui /usr/bin/jd-gui
jd-gui &

بعد از اجرای برنامه کافی هستش که فایل jar مربوطه را از طریق دکمه Open a file در نوار ابزار و یا از طریق منوی فایل باز کنید. ساختار درختی پکیج ها در سمت چپ و سورس فایل انتخابی در سمت راست قابل مشاهده خواهد بود.

همچنین نسخه لایو Java Decompiler به صورت آنلاین در این آدرس در دسترس هستش که میتونید بدون نصب لوکال و تنها با درگ کردن فایل jar در اون به صورت آنلاین و در مرورگر خودتون سورس پکیج ها را مشاهده کنید.

 

11 پاسخ
    • میلاد
      میلاد گفته:

      سلام رضا جان، کدوم یکی از برنامه ها مد نظر هست؟ اگر مشخصا به من بگی میتونم برات جایی آپلودش کنم.

      پاسخ
  1. حسین
    حسین گفته:

    ضمن عرض سلام و تشکر از سایت خوبتون… مهندس اگه کد ها Obfuscate شده باشن چیکار باید بکنیم تا بخونیمشون؟

    پاسخ
  2. امیر
    امیر گفته:

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

    پاسخ
    • مینا
      مینا گفته:

      مگه‌ شما ربات جلوگیری از هرزنامه نزاشته بودید ؟؟؟!!
      پس چی شد 🤣
      البته که این حرفم فقط برای تست رباتتون بود ها
      بد برداشت نشه😑

      پاسخ

تعقیب

  1. […] دسترسی به سورس پکیج های اندروید – میلاد نکوفر […]

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

پاسخی بگذارید

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.