استخراج APK با ADB روی لینوکس
در این بخش به بررسی نحوه استخراج APK با ADB روی لینوکس می پردازیم، در دنیای امروز که برنامههای موبایل نقش اساسی در زندگی دیجیتال انسانها ایفا میکنند، آشنایی با ابزارهایی برای تعامل مستقیم با اپلیکیشنها اهمیت زیادی دارد. یکی از نیازهای رایج توسعهدهندگان اندروید، مهندسان معکوس و حتی کاربران پیشرفته، استخراج فایلهای APK از دستگاههای اندرویدی است. فایل APK، فرمت بسته نصبی برنامههای اندروید است و دسترسی به آن برای بررسی ساختار اپلیکیشن، نصب مجدد، بکاپگیری یا حتی تستهای امنیتی بسیار ضروری است.
در این میان، ابزار ADB (Android Debug Bridge) یکی از قدرتمندترین روشها برای ارتباط با دستگاه اندرویدی از طریق رایانه محسوب میشود. این ابزار قابلیتهایی فراتر از دیباگ را در اختیار کاربر قرار میدهد؛ از جمله اجرای دستورات، انتقال فایل، نصب و حذف اپلیکیشنها، گرفتن لاگها و استخراج فایلهای APK. در این مقاله، بهطور جامع و گامبهگام آموزش خواهیم داد که چگونه با استفاده از ADB روی لینوکس، فایلهای APK را از گوشی اندرویدی استخراج کنید.
آشنایی با ADB و کاربردهای آن
ADB مخفف Android Debug Bridge، یک ابزار خط فرمان است که به کاربران اجازه میدهد با استفاده از USB یا ارتباط شبکهای، به دستگاههای اندرویدی متصل شده و دستورات مختلفی را اجرا کنند. این ابزار بخشی از Android SDK Platform-Tools است و در تمامی سیستمعاملهای اصلی از جمله لینوکس پشتیبانی میشود.
کاربردهای رایج ADB عبارتاند از:
- نصب و حذف اپلیکیشنها از طریق خط فرمان
- انتقال فایل بین رایانه و دستگاه
- گرفتن لاگکتها برای تحلیل خطاها
- اجرای دستورات شل روی گوشی
- گرفتن اسکرینشات یا ضبط ویدئو از صفحه
- استخراج فایلهای APK اپلیکیشنهای نصبشده
نصب ADB در لینوکس
در بیشتر توزیعهای لینوکس میتوانید با استفاده از بستههای پیشفرض ADB را نصب کنید:
در Ubuntu/Debian:
sudo apt update
sudo apt install android-tools-adb android-tools-fastboot
در Arch Linux و مشتقات:
sudo pacman -S android-tools
بررسی نصب موفق:
adb version
خروجیای مشابه زیر دریافت خواهید کرد:
Android Debug Bridge version 1.0.41
آمادهسازی دستگاه اندرویدی برای اتصال ADB
قبل از هر چیز، باید قابلیت USB Debugging را روی گوشی فعال کنید.
فعالسازی USB Debugging:
- به تنظیمات گوشی بروید.
- وارد قسمت About phone شوید.
- روی Build number چند بار ضربه بزنید تا حالت توسعهدهنده فعال شود.
- سپس به منوی اصلی تنظیمات بازگردید و وارد Developer options شوید.
- گزینه USB debugging را فعال کنید.
اکنون گوشی شما آماده اتصال به ADB است.
اتصال گوشی به لینوکس:
با کابل USB گوشی را به رایانه متصل کنید و سپس دستور زیر را اجرا نمایید:
adb devices
اگر همه چیز درست باشد، لیستی از دستگاههای متصل شده نمایش داده خواهد شد:
List of devices attached
R9XXXXXXXdevice
در صورتی که برای اولین بار اتصال برقرار میشود، روی گوشی باید یک دیالوگ ظاهر شود و از شما بخواهد اجازه دسترسی ADB بدهید. آن را تأیید کنید.
یافتن نام پکیج اپلیکیشن هدف
برای استخراج فایل APK، ابتدا باید نام پکیج اپلیکیشنی که قصد استخراج آن را دارید، پیدا کنیم.
روش ۱: لیست کردن پکیجها
adb shell pm list packages
برای یافتن اپ خاص، میتوانید فیلتر کنید:
adb shell pm list packages | grep telegram
خروجی مشابه زیر خواهد بود:
package:org.telegram.messenger
روش ۲: با استفاده از اپهای اندرویدی
میتوانید روی گوشی از برنامههایی مثل App Inspector یا Package Name Viewer برای مشاهده نام پکیج استفاده کنید.
استخراج فایل APK با ADB
حالا که نام پکیج را در اختیار داریم، میتوانیم مسیر فایل APK را پیدا کنیم و آن را استخراج کنیم.
۱. یافتن مسیر فایل APK:
adb shell pm path org.telegram.messenger
خروجی:
package:/data/app/org.telegram.messenger-1/base.apk
۲. کپی کردن فایل APK روی رایانه:
adb pull /data/app/org.telegram.messenger-1/base.apk ./telegram.apk
این دستور فایل APK را از مسیر داخلی گوشی به مسیر جاری سیستم لینوکس شما منتقل میکند.
نکات مهم:
- برخی اپلیکیشنها (بهخصوص اپهای سیستمی یا محافظتشده) ممکن است در مسیرهای دیگری نصب شده باشند مانند:
/system/app//product/app//data/app-private/
- در برخی گوشیها برای دسترسی به این مسیرها نیاز به روت بودن گوشی وجود دارد.
استخراج APK از اپهای سیستمی (نیازمند روت)
اپلیکیشنهای سیستمی اغلب در مسیرهای محافظتشدهای قرار دارند. برای استخراج آنها نیاز به دسترسی روت دارید.
مراحل کلی:
- گوشی را روت کنید (با Magisk یا روشهای دیگر).
- دسترسی روت را به ADB بدهید:
adb root
- سپس به مسیر فایل اپ سیستمی بروید:
adb shell
cd /system/app/
- فایل APK را یافته و با
adb pullبه سیستم منتقل کنید:
adb pull /system/app/Camera/Camera.apk ./Camera.apk
هشدار:
استفاده از دسترسی روت ریسک بالایی دارد و ممکن است باعث ناپایداری یا نقض قوانین ضمانت گوشی شود. تنها در صورتی که ضرورت دارد و دانش کافی دارید این مسیر را انتخاب کنید.
استخراج فایلهای APK با استفاده از ADB در لینوکس یک فرایند کاربردی و امن است که میتواند برای توسعهدهندگان، پژوهشگران امنیت، یا کاربران پیشرفته بسیار مفید واقع شود. این روش نیاز به نصب ابزار خاصی ندارد، رایگان است و کنترل کاملی بر روی اپلیکیشنهای نصبشده فراهم میکند. با پیروی از مراحل ذکرشده، میتوانید بدون هیچ پیچیدگی فایل APK هر برنامهای را (در صورتی که قابل دسترسی باشد) روی سیستم خود ذخیره کرده و از آن بهره ببرید.
منابع و لینکهای مفید:
- ADB Documentation – Android Developers
- Android Platform Tools on GitHub
- Package Name Viewer 2.0 – Google Play
آیا این مطلب برای شما مفید بود ؟



