مهندسی معکوس ۲۰۲۶/۱۰/۲۴ · ۸ دقیقه مطالعه

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

نویسنده: تیم آرنا

APK در واقع یک آرشیو است

فایل .apk چیزی جز یک فایل ZIP نیست. اگر آن را باز کنی، به این بخش‌ها می‌رسی:

  • AndroidManifest.xml — تعریف کامپوننت‌ها و مجوزها
  • classes.dex — کد کامپایل‌شدهٔ اپ
  • resources.arsc — منابع
  • lib/ — کتابخانه‌های native

تحلیل ایستا

بدون اجرای اپ، کدش را می‌خوانیم:

  • apktool برای دیکامپایل منابع و به‌دست‌آوردن smali
  • jadx برای دیدن کد نزدیک به جاوا
apktool d app.apk
jadx-gui app.apk

تحلیل پویا

در حین اجرای اپ، رفتارش را تغییر می‌دهیم:

  • Frida برای hook کردن توابع در زمان اجرا
  • Burp Suite برای تحلیل ترافیک شبکه

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

در مسیر «مهندسی معکوس اندروید» آرنا این‌ها را قدم‌به‌قدم تمرین می‌کنی.