وب‌سرویس مجید

پروژه android-inline-hook

bytedance/android-inline-hook

کاربرد:

این کتابخانه یک ابزار هوک (hook) درون‌خطی برای اندروید است که به توسعه‌دهندگان اجازه می‌دهد تا فراخوانی توابع سیستمی یا کتابخانه‌های نیتیو را در زمان اجرا تغییر دهند.

از آن برای دستکاری رفتار توابع بدون دسترسی به کد اصلی استفاده می‌شود — مثلاً برای دیباگ، مانیتورینگ، یا تست رفتار برنامه در شرایط مختلف. ️

در چه شرایطی بهتره استفاده شود؟

وقتی نیاز داری رفتار یک تابع نیتیو در اندروید را بدون تغییر کد اصلی تغییر بدی، مثل وقتی که داری یک کتابخانه شخص ثالث رو رصد می‌کنی یا یک باگ سیستمی رو دور می‌زنی. ️‍️

همچنین برای توسعه‌دهندگان امنیتی که می‌خوان فراخوانی‌های حساس رو لاگ کنن یا مسدود کنن، مناسبه.

پشتیبانی از thumb، arm32 و arm64 باعث می‌شه در بیشتر دستگاه‌های اندرویدی کار کنه.

چند مثال از موارد استفاده

- تغییر مسیر فراخوانی تابع open() برای شبیه‌سازی وجود فایل بدون واقعاً ساختنش

- مانیتور کردن فراخوانی‌های شبکه در یک اپ بدون دسترسی به سورس

- تست خطاهای حافظه با هوک کردن malloc() و شبیه‌سازی شرایط کمبود حافظه

- افزودن لاگ برای توابع سیستمی در حین دیباگ کردن مشکلات عملکردی

  • ##AndroidDev
  • ##NativeHook
  • ##SecurityTesting
  • ##DebuggingTools
  • ##ARM64Support
  • ##ReverseEngineering
  • ##MobileSecurity
  • ##InlineHook
  • ##ShadowHook
  • ##AndroidNative