Skip to content

تست نفوذ اپلیکیشن اندروید

مرجع تخصصی مهندسی معکوس و هوک کردن اپلیکیشن‌های اندروید

تحلیل استاتیک و داینامیک اپلیکیشن

تالیف و توسعه: میثم بال‌افکن

📚 سرفصل‌های اصلی آموزش ​

این مستندات به دو بخش اصلی تحلیل ایستای کد (Static Analysis) و هوکینگ پویا (Dynamic Instrumentation) با فریدا تقسیم شده است.


🔍 بخش اول: تحلیل استاتیک (Static Analysis) ​

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


⚡ بخش دوم: فریدا از صفر تا صد (Frida Zero To Hiro) ​

در این بخش وارد دنیای دستکاری حافظه و تغییر رفتار اپلیکیشن در زمان اجرا می‌شویم.

🔹 تعامل با ماشین مجازی جاوا (Java Layer) ​

  • Java.perform: نقطه آغازین؛ ورود به ترد اصلی برنامه.
  • Java.use: بارگذاری کلاس‌ها و تغییر رفتار متدها (Hooking).
  • Java.choose: اسکن حافظه Heap و پیدا کردن نمونه‌های زنده (Live Objects).
  • Java.cast: تبدیل نوع اشیاء (Type Casting) برای دسترسی به متدهای خاص.
  • Java.array: ساخت و دستکاری آرایه‌های جاوا و آرایه‌های بایت.
  • Java.registerClass: ساخت کلاس جدید و پیاده‌سازی Interfaceها در زمان اجرا.

🔹 مهندسی معکوس لایه Native و حافظه (Native Layer) ​

  • Interceptor: هوک کردن توابع سطح پایین C/C++ و کتابخانه‌های .so.
  • مقابله با ASLR: محاسبه آفست‌های حافظه و کار با ماژول‌ها در زمان اجرا.
  • اعماق اندروید: تکنیک‌های پیشرفته Native Hooking، اسکن الگو (Pattern Scanning) و کار با رجیسترها.

🔹 ابزارها و دیباگینگ ​

🔹 ارتباطات و سناریوهای پیشرفته ​

  • ایجاد Connection: برقراری ارتباط RPC و تبادل داده بین اسکریپت و سیستم عامل.
  • دستکاری رابط کاربری (UI Manipulation): تغییر گرافیک برنامه، خواندن فیلدهای متنی و دور زدن صفحات امنیتی.
  • System Properties: تغییر ویژگی‌های سیستمی برای فریب اپلیکیشن (Anti-Root Bypass).
  • Obfuscation: تکنیک‌های مقابله با مبهم‌سازی کد و پیدا کردن کلاس‌های مخفی شده.