از 27 مارس 2025، توصیه می کنیم از android-latest-release به جای aosp-main برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
ضدعفونی کننده ها گروهی از ابزارهای تحلیل پویا هستند که از طریق ابزار دقیق اضافی که توسط کامپایلر درج شده است، اشتباهات برنامه ها را در زمان اجرا پیدا می کنند. این شامل تشخیص مشکلات ایمنی حافظه است. Android از ضدعفونیکنندههای زیر پشتیبانی میکند و قویاً توصیه میکند:
AddressSanitizer به کمک سخت افزار (HWASan)
HWASan ضدعفونی کننده اصلی برای تشخیص مشکلات ایمنی حافظه است. به ARM64 نیاز دارد و می تواند تشخیص دهد:
سرریز یا زیر جریان بافر پشته و پشته
استفاده از پشته پس از رایگان
استفاده از پشته پس از محدوده
استفاده از پشته پس از بازگشت
دو برابر رایگان یا وحشی رایگان
آدرس محلول ضدعفونی کننده (ASan)
ASan ابزاری شبیه به HWASan است. روی پلتفرم های بیشتری کار می کند، اما در اندروید پشتیبانی نمی شود.
ضدعفونی کننده آدرس Kernel (KASan)
KASan همتای هسته ابزارهای userspace بالا است. اجرای کامپایلر یکسانی را به اشتراک می گذارد. KASan و ASan/HWASan مکمل یکدیگر هستند زیرا یک ابزار برای هسته و ابزار دیگر برای فضای کاربر اعمال می شود. توصیه می کنیم هر دو را همزمان فعال کنید تا تعداد پیکربندی های ساخت را کاهش دهید و ماتریس تست را کاهش دهید.
ضدعفونی کننده رفتار نامشخص (UBSan)
UBSan ابزار دقیق زمان کامپایل را برای بررسی انواع رفتارهای تعریف نشده (غیر ایمنی حافظه) انجام می دهد. این شامل بررسی سرریز اعداد صحیح امضا شده و بدون علامت (IntSan)، بررسی کرانهها برای آرایههای با اندازه استاتیک (BoundsSan) و بسیاری از انواع دیگر رفتارهای تعریفنشده است. IntSan و BoundsSan نیز برای فعال کردن در تولید به عنوان یک کاهش امنیتی مناسب هستند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Sanitizers\n\n| **Note:** This page talks about sanitizers for Android platform development. For sanitizers for app development, refer to the [NDK documentation](https://developer.android.com/ndk/guides/memory-debug).\n\nThe sanitizers are a group of dynamic analysis tools that find mistakes in\nprograms at runtime through additional instrumentation that was inserted by the\ncompiler. This includes detecting\n[memory safety](/docs/security/test/memory-safety) issues. Android supports\nand strongly recommends usage of the following sanitizers:\n\nHardware-assisted AddressSanitizer (HWASan)\n-------------------------------------------\n\n[HWASan](/docs/security/test/hwasan) is the main sanitizer to provide detection\nfor memory safety problems. It requires ARM64 and can detect:\n\n- Stack and heap buffer overflow or underflow\n- Heap use after free\n- Stack use after scope\n- Stack use after return\n- Double free or wild free\n\nAddress sanitizer (ASan)\n------------------------\n\n[ASan](/docs/security/test/asan) is a tool similar to HWASan. It works on more\nplatforms, but is unsupported on Android.\n\nKernelAddress sanitizer (KASan)\n-------------------------------\n\n[KASan](/docs/security/test/kasan) is the kernel counterpart of the userspace\ntools above. It shares the same compiler implementation. KASan and ASan/HWASan\nare complementary as one tool applies to the kernel and another to userspace.\nWe recommend enabling both at the same time to reduce the number of build\nconfigurations and to reduce the testing matrix.\n\nUndefinedBehavior sanitizer (UBSan)\n-----------------------------------\n\n[UBSan](/docs/security/test/ubsan) performs compile-time instrumentation to\ncheck for various types of (non memory-safety) undefined behavior. This includes\nsigned and unsigned integer overflow checking (IntSan), bounds checks for\nstatically-sized arrays (BoundsSan), and lots of other types of undefined\nbehavior. IntSan and BoundsSan are also suitable for enabling in production as a\nsecurity mitigation."]]