استخراج فایل‌های APK از برنامه‌های Androidی نصب شده شما

A smartphone with app icons and a tray pulling out an app, illustrating extracting APKs

اطلاعیه حقوقی و ایمنی: این مقاله فقط برای اهداف آموزشی است. استخراج یک APK از یک دستگاه برای پشتیبان گیری شخصی از برنامه های کاربردی قبلاً به طور قانونی روی دستگاهی که مالک آن هستید نصب کرده اید در نظر گرفته شده است. XAPK به APK میزبانی، توزیع، پیوند به برنامه‌های دارای حق نسخه‌برداری، پولی یا دزدی را تسهیل نمی‌کند یا دسترسی به آن‌ها را تسهیل نمی‌کند. توزیع مجدد APKهای استخراج شده از برنامه های پولی یا دارای حق نسخه برداری مجاز نیست. برای شرایط کامل به سلب مسئولیت ما مراجعه کنید.

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

در زیر می‌خواهیم یک APK بدون روت را از گوشی خود بیرون بیاوریم، جایی که برای پشتیبان‌گیری مفید است، و نحوه بررسی فایل استخراج‌شده پس از آن با ابزارهای تحلیل آنلاین.

خوراکی های کلیدی

  • تقریباً می‌توانید فایل APK هر برنامه را مستقیماً از حافظه داخلی دستگاه خود استخراج کنید.
  • برنامه های مدرن اغلب از APK ها را تقسیم کنید استفاده می کنند که به استخراج کننده تخصصی نیاز دارند.
  • دسترسی روت (Superuser) به طور کلی مورد نیاز نیست برای پشتیبان گیری از برنامه های کاربردی استاندارد است.
  • پس از استخراج، می توانید فایل را به کارت SD، رایانه شخصی یا فضای ذخیره سازی ابری منتقل کنید.

چرا APK ها را استخراج کنیم؟

قبل از اینکه به «چگونه» بروید، در اینجا دلیلی برای حفظ یک کتابخانه پشتیبان APK وجود دارد:

روش 1: استفاده از برنامه استخراج APK (بدون ریشه)

ساده ترین راه استفاده از ابزار اختصاصی است. ده ها برنامه «APK Extractor» در فروشگاه Play موجود است. این ابزارها با یافتن مسیر نصب برنامه در /data/app/ (که قابل خواندن است اما معمولاً پنهان است) و کپی کردن base.apk در پوشه دانلود عمومی شما کار می کنند.

مراحل:

  1. یک APK Extractor معتبر نصب کنید.
  2. برنامه را باز کنید و در صورت درخواست "مجوزهای ذخیره سازی" را اعطا کنید.
  3. در لیست همه برنامه های نصب شده حرکت کنید.
  4. روی برنامه ای که می خواهید ذخیره کنید ضربه بزنید.
  5. این ابزار فوراً APK را در حافظه داخلی شما کپی می کند.

مدیریت فایل های APK تقسیم شده

اگر یک برنامه پیچیده مانند Facebook یا WhatsApp را استخراج کنید، ممکن است به جای یک فایل، چندین فایل .apk پیدا کنید. اینها APK ها را تقسیم کنید هستند. برای استفاده از آنها، به ابزار ادغام APKS/APKM ما نیاز دارید تا آنها را در یک فایل واحد ترکیب کند.

روش 2: استخراج دستی از طریق ADB (پیشرفته)

اگر نمی‌خواهید برنامه‌های اضافی روی گوشی خود نصب کنید، می‌توانید از رایانه شخصی با پل اشکال زدایی Android (ADB) استفاده کنید:

  1. گوشی خود را از طریق USB به رایانه شخصی خود متصل کنید و USB Debugging را فعال کنید.
  2. یک ترمینال باز کنید و تایپ کنید: adb shell pm path com.example.app
  3. این مسیر را نشان خواهد داد. مثال: package:/data/app/com.example.app/base.apk
  4. نوع: adb pull /data/app/com.example.app/base.apk ./backup.apk
  5. فایل اکنون در رایانه شما است!

آنچه در واقع هنگام استخراج به دست می آورید

یک برنامه Android "نصب شده" دیگر به عنوان یک APK منفرد در دستگاه ذخیره نمی شود، به خصوص اگر از Play Store به عنوان یک بسته برنامه Android آمده باشد. وقتی استخراج می کنید، ممکن است یک یا چند فایل دریافت کنید، و دانستن تفاوت به شما کمک می کند تصمیم بگیرید چه چیزی را نگه دارید:

اگر هدف شما یک نسخه پشتیبان قابل حمل است که روی دستگاه دیگری نصب می‌شود، معمولاً می‌خواهید (الف) یک "APK جهانی" ادغام شده با ادغام APKS به APK ما تولید شود، یا (ب) همه تقسیم‌بندی‌ها با هم آرشیو شوند تا یک نصب‌کننده APK تقسیم‌شده مانند SAI بتواند آنها را به عنوان یک واحد بازیابی کند.

استخراج چگونه کار می کند (بدون ریشه، پشت صحنه)

اکثر برنامه‌های « استخراج‌کننده APK» در واقع نیازی به روت ندارند زیرا Android فایل‌های بسته نصب‌شده را از طریق یک مسیر خواندن در سطح سیستم نمایش می‌دهد. جریان استاندارد این است:

  1. برنامه استخراج کننده PackageManager.getPackageInfo(package, ...) را برای دریافت لیست برنامه های نصب شده فراخوانی می کند.
  2. برای برنامه انتخابی، ApplicationInfo.sourceDir (مسیر APK پایه، معمولا /data/app/<package>-<hash>/base.apk) و splitSourceDirs (مسیرهای هر پیکربندی تقسیم می‌شود) را می‌خواند.
  3. استخراج‌کننده نصب‌شده توسط کاربر نمی‌تواند مستقیماً این مسیرها را بخواند، اما مکانیسم FileProvider در Android به اجزای سیستم اجازه می‌دهد تا به URI‌های خاص دسترسی خواندن موقت بدهند. سیستم عامل انجام می دهد به هر برنامه‌ای اجازه می‌دهد فایل‌های APK خود و فایل‌های APK دیگر برنامه‌ها را توسط URI باز کند. این عمدی است، زیرا مسیر نصب همیشه برای کارهایی مانند حذف نصب و به‌روزرسانی قابل خواندن در جهان بود.
  4. استخراج‌کننده بایت‌ها را در یک پوشه کاربر قابل نوشتن (بارگیری‌ها، یک پوشه کش درون برنامه یا حافظه خارجی) کپی می‌کند و آنها را به عنوان فایلی برای اشتراک‌گذاری یا نصب ارائه می‌کند.

روش‌های فقط ریشه (su; cp /data/app/..). API را دور زده و مسیرهای خام را مستقیماً می‌خوانند. آنها سریعتر نیستند و برای برنامه های غیر سیستمی ضروری نیستند.

استخراج از طریق ADB (توصیه شده برای پشتیبان گیری)

تمیزترین گردش کار غیربرنامه ای ADB است که اکثر توسعه دهندگان قبلاً آن را تنظیم کرده اند. دو دستور کل کار را انجام می دهند:

# 1. Find the on-device path(s) for the package
adb shell pm path com.example.app

# Output (single APK):
#   package:/data/app/~~hash==/com.example.app-1/base.apk
#
# Output (split APKs):
#   package:/data/app/~~hash==/com.example.app-1/base.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.arm64_v8a.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.xxhdpi.apk
#   package:/data/app/~~hash==/com.example.app-1/split_config.en.apk

# 2. Pull each path
adb pull /data/app/~~hash==/com.example.app-1/base.apk ./

برای برنامه‌های Split-APK، adb pull را برای هر مسیر تکرار کنید. برای دریافت یک فایل قابل نصب، همه آنها را در ادغام APKS به APK ما رها کنید.

آنچه را نمی توان استخراج کرد

Extraction فایل های نصب برنامه را برمی گرداند. نه را برمی گرداند:

بنابراین استخراج برای موارد استفاده «می‌خواهم یک نسخه از نصب‌کننده را نگه دارم» خوب است، اما جایگزینی برای پشتیبان‌گیری مناسب تمام دستگاه (که نیاز به ابزارهای روت یا فروشنده دارد) نیست.

APK های استخراج شده خود را تجزیه و تحلیل کنید

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

تجزیه و تحلیل APK را شروع کنید

سوالات متداول (سؤالات متداول)

آیا استخراج یک برنامه شامل اطلاعات ورود به سیستم من می شود؟

خیر. Extraction فقط کد برنامه و منابع را کپی می‌کند. به دلایل امنیتی شامل اطلاعات حساب شخصی، گذرواژه یا تنظیمات شما نمی شود.

آیا می توانم برنامه های سیستمی مانند YouTube را استخراج کنم؟

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

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

اکثر برنامه های استخراج فایل ها را در پوشه ای به نام APK های استخراج شده یا دانلود کنید در حافظه داخلی گوشی شما ذخیره می کنند.

پشتیبان گیری از برنامه های نصب شده بدون از دست دادن تنظیمات Split

ساخت مخزن برنامه محلی خود مطمئن ترین راه برای از دست دادن دسترسی به ابزارهایی است که دوست دارید. یک برنامه مناسب برای ضربه زدن و ترمینال ADB هر دو شما را به آنجا می‌رسانند، و در هر صورت استخراج فایل های APK یک راه امن و عملی برای مدیریت دستگاه Android شما است. پس از پشتیبان‌گیری از کتابخانه خود، یک لحظه به امضاها را تایید کنید از آن نسخه‌های پشتیبان اختصاص دهید تا بدانید که در طول زمان دستکاری نمی‌شوند.

مهندسی و مستند شده توسط Mst Shaefale توسعه‌دهنده اصلی و معمار بسته Android • تأییدشده در Android 12–15

Mst Shaefale ادغام XAPK/APKS سمت کلاینت، تجزیه کننده مانیفست باینری و ابزارهای امضای APK v1+v2 را در xapktoapk.com حفظ می کند. آیا یک فرمان قدیمی یا تغییر سیستم عامل را مشاهده می کنید؟ یک یادداشت تحریریه بفرستید.