اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
المعقّمات
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
أدوات التطهير هي مجموعة من أدوات التحليل الديناميكي التي تعثر على الأخطاء في
البرامج أثناء التشغيل من خلال أدوات إضافية أدخلها compilador. ويشمل ذلك رصد مشاكل
أمان الذاكرة. يتيح نظام التشغيل Android استخدام المطهرات التالية ويوصي بها بشدة:
أداة AddressSanitizer (HWASan) المستندة إلى الأجهزة
أداة HWASan هي أداة التطهير الرئيسية التي ترصد
مشاكل سلامة الذاكرة. يتطلب هذا الإصدار الإصدار ARM64 ويمكنه رصد ما يلي:
- فائض أو نقص في سعة المخزن المؤقت للرصِيد والمساحة
- استخدام الذاكرة لأخذ لقطات لعناصر متعددة بعد تحريرها
- استخدام الحزمة بعد النطاق
- استخدام الحزمة بعد الإرجاع
- مزدوجة مجانية أو مجانية بلا قيود
أداة فحص العناوين (ASan)
ASan هي أداة مشابهة لـ HWASan. وهي تعمل على المزيد من منصّات الويب، ولكنها غير متاحة على Android.
أداة فحص عناوين النواة (KASan)
KASan هو نظير kernel لأدوات
مساحة المستخدمين المذكورة أعلاه. ويشترك في طريقة التنفيذ نفسها للمجمِّع. إنّ KASan وASan/HWASan
متكاملان لأنّ إحدى الأداتَين تُطبَّق على النواة والأخرى على مساحة المستخدم.
ننصحك بتفعيل كليهما في الوقت نفسه لتقليل عدد إعدادات
الإصدارات وتقليص مصفوفة الاختبار.
أداة فحص UndefinedBehavior (UBSan)
تُجري أداة UBSan عمليات فحص في وقت الترجمة للتحقّق من أنواع مختلفة من السلوك غير المحدّد (الذي لا يرتبط بأمان الذاكرة). ويشمل ذلك
فحص تدفّق الأعداد الصحيحة الموقَّعة وغير الموقَّعة (IntSan) وعمليات التحقّق من الحدود لشدَّادٍ
بحجم ثابت (BoundsSan) والعديد من الأنواع الأخرى من السلوك غير المحدَّد. إنّ IntSan وBoundsSan مناسبان أيضًا لتفعيلهما في مرحلة الإنتاج كأحد إجراءات
الحدّ من المشاكل الأمنية.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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."]]