
ماسح آليات الثبات في macOS مع التحقق من توقيع الشيفرة وتتبع الجدول الزمني.
شاهد كل شيء يعمل على جهاز Mac الخاص بك. افهم لماذا يعمل. قرر ما الذي سيبقى.


يعرض لك MacPersistenceChecker كل ما يعمل تلقائيًا على جهاز Mac الخاص بك، ويشرح لماذا يهم ذلك، ويساعدك على تحديد ما يجب الاحتفاظ به أو إزالته.
→ ابحث عن البرامج الضارة → اكتشف آليات الاستمرارية الخفية → افهم نظامك في دقائق
تنزيل MacPersistenceChecker v2.0.0 (DMG)
→ افحص جهاز Mac في أقل من 30 ثانية → لا يوجد معالج تثبيت، فقط افتح وشغّل → أصلي لنظام macOS، متعدد المنصات (Apple Silicon وIntel)، macOS 13+
إذا قال macOS أن التطبيق تالف:
xattr -cr /Applications/MacPersistenceChecker.app
يتعلم التطبيق نظامك ويصنف آلاف العناصر تلقائيًا.
بدء سريع:
تكلفة واقعية: أقل من 1 دولار شهريًا للاستخدام النشط، و0 دولار للحالة المستقرة.
يبني التطبيق رسمًا بيانيًا معرفيًا لكل عنصر استمرارية على جهاز Mac ويستخدم Claude (Anthropic) للاستدلال عليه. صنّف آلاف العناصر بسرعة، وصعّد فقط ما يهم حقًا، وتعلم نظامك حتى يجيب عن معظم الأسئلة دون استدعاءات ذكاء اصطناعي إضافية.
┌──────────────────────────┐
│ Persistence scan │
│ (e.g. 6800 items) │
└─────────────┬────────────┘
▼
┌────────────────────────────────────────┐
│ Concept Extraction (deterministic) │
│ 6 extractors → vendor / software / │
│ pathCategory / pattern / mechanism / │
│ filename. No AI calls here. │
└─────────────┬──────────────────────────┘
▼
┌────────────────────────────────────────┐
│ Knowledge Graph (SQLite) │
│ • concepts (~280 typically) │
│ • concept_links (subsumes / instance) │
│ • item_concepts (m:n) │
│ • concept_verdicts │
└─────────────┬──────────────────────────┘
▼
┌────────────────────────────────────────┐
│ Concept Resolver │
│ for every item, picks the strongest │
│ verdict via a deterministic ladder: │
│ severity → confidence → specificity │
│ → source → recency. │
└─────────────┬──────────────────────────┘
│
┌───────────┴────────────┐
▼ ▼
┌──────────────────┐ ┌──────────────────────┐ │ Item is already │ │ Item is unresolved │ │ classified. │ │ → goes to a cluster. │ │ Filter hides it │ └──────────┬───────────┘ │ from "Suspicious"│ ▼ └──────────────────┘ ┌──────────────────────┐ │ Cluster Builder │ │ groups items by │ │ identical concept │ │ signature (sorted │ │ ids). 6800 items → │ │ ~280 clusters. │ └──────────┬───────────┘ ▼ ┌──────────────────────────────────────────┐ │ User decides per cluster (one click = │ │ N items decided), OR sends batch to AI: │ │ │ │ • Trust / Watch / Block (manual) │ │ • Send unresolved clusters to AI │ │ → Haiku batch (15 cluster per call) │ │ → AI returns verdicts attached to │ │ concepts (not items) — propagate │ │ to ALL items linked to those │ │ concepts, including future ones. │ └──────────────────────────────────────────┘
### أدوات الذكاء الاصطناعي
| الأداة | المكان | النموذج | التكلفة / الاستدعاء |
|---|---|---|---|
| تحليل بالذكاء الاصطناعي (عنصر واحد) | تفاصيل العنصر → Knowledge Graph | Haiku | ~$0.003 |
| دفعة Smart Triage | شريط الأدوات → Triage | Haiku batch | ~$0.005 (15 مجموعة) |
| تقرير النظام | شريط الأدوات → تقرير | Sonnet | ~$0.05-0.10 |
| مطاردة التهديدات | شريط الأدوات → مطاردة | Haiku | ~$0.003 |
| مقارنة اللقطات | السجل → مقارنة → تحليل بالذكاء الاصطناعي | Haiku | ~$0.003 |
الحد الأقصى اليومي للاستدعاءات (الافتراضي 30) قابل للتهيئة في Settings → AI. حد أقصى صارم؛ يتم تعطيل الذكاء الاصطناعي تلقائيًا عند بلوغه.
### عناصر التحكم في الثقة
القواعد المعرّفة من قبل المستخدم **تتغلب دائمًا** على القواعد المستخرجة بالذكاء الاصطناعي:
- **الوثوق بهذا العنصر** — قاعدة singleItem، قرارك يتجاوز قائمة مراقبة الذكاء الاصطناعي
- **الوثوق بهذا النمط** — قاعدة نمط مع TeamID/مرساة التوقيع (الملفات الثنائية الموقعة فقط)
- **إزالة الوثوق** — حذف قاعدة معرّفة من قبل المستخدم أضفتها عن طريق الخطأ
- **مراقبة / حظر** — تطبيق حكم قائمة مراقبة/خبيث على مجموعة كاملة في Smart Triage
</details>
---
## فحص الثبات
### الماسحات الأساسية
- **Launch Daemons** - خدمات على مستوى النظام (`/Library/LaunchDaemons`, `/System/Library/LaunchDaemons`)
- **Launch Agents** - عوامل على مستوى المستخدم (`~/Library/LaunchAgents`, `/Library/LaunchAgents`)
- **Login Items** - التطبيقات التي تبدأ عند تسجيل الدخول
- **Kernel Extensions** - kexts القديمة
- **System Extensions** - إضافات النظام الحديثة (DriverKit, NetworkExtension, EndpointSecurity)
- **Privileged Helper Tools** - خدمات XPC بصلاحيات مرتفعة
- **Cron Jobs** - المهام المجدولة
- **Configuration Profiles** - ملفات تعريف MDM والتكوين
- **Application Support** - تطبيقات ومساعدات الخلفية
### الماسحات الموسعة (اختياري)
- **Periodic Scripts** - نصوص يومية وأسبوعية وشهرية في `/etc/periodic/`
- **Shell Startup Files** - `.zshrc`, `.bashrc`, `/etc/profile` مع كشف الأنماط المشبوهة
- **Login/Logout Hooks** - خطافات تسجيل الدخول/الخروج القديمة عبر `com.apple.loginwindow`
- **Authorization Plugins** - إضافات Security Agent في `/Library/Security/SecurityAgentPlugins`
- **Spotlight Importers** - مستوردو البيانات الوصفية المخصصون
- **Quick Look Plugins** - مولّدات المعاينة التي قد يُساء استخدامها
- **Directory Services Plugins** - إضافات المصادقة
- **Finder Sync Extensions** - إضافات Finder عبر pluginkit
- **BTM Database** - إدخالات إدارة المهام الخلفية (macOS 13+)
- **Dylib Hijacking** - كشف `DYLD_INSERT_LIBRARIES` وحقن dylib المشبوه
- **TCC/Accessibility** - التطبيقات التي لديها أذونات Accessibility في قاعدة بيانات TCC
---
## تقييم المخاطر
يحصل كل عنصر ثبات على **درجة المخاطر (0-100)** بناءً على عوامل متعددة:
- توقيعات أكواد غير صالحة أو مفقودة
- غياب حماية بيئة التشغيل المحصّنة
- ملفات ثنائية موقّعة ad-hoc
- مواقع ملفات مشبوهة
- إعدادات تشغيل تلقائي دائمة (RunAtLoad, KeepAlive)
- أنماط برمجيات خبيثة معروفة
**مستويات الخطورة:** Low, Medium, High, Critical - يتم فرز العناصر حسب درجة المخاطر لتحديد سريع للتهديدات.
### كشف شذوذ تردد التشغيل
- **Micro-Restart** - StartInterval < 60 ثانية (احتمال إساءة استخدام المراقب)
- **Aggressive Watchdog** - مزيج KeepAlive + StartInterval منخفض
- **No Throttle Limit** - KeepAlive بدون ThrottleInterval (خطر حلقة الانهيار وإعادة التشغيل)
### كشف الموقّع-ولكن-الخطير
- **Dangerous Entitlements** - كشف الامتيازات الخطرة (`com.apple.security.cs.disable-library-validation`, إلخ.)
- **Apple Impersonation** - برمجيات غير تابعة لـ Apple تحاول الظهور بصفة Apple
- **Hidden Locations** - تطبيقات موقّعة في مجلدات مشبوهة
- **Notarization Gaps** - تطبيقات حديثة تفتقر إلى التوثيق
- **Developer Certificate Analysis** - التحقق من Team ID مقابل البائعين المعروفين
### كشف LOLBins (الملفات الثنائية المعتمدة على موارد النظام)
يكشف الاستخدام المشبوه للملفات الثنائية الشرعية لنظام macOS في سياقات الثبات. **التوليفة هي ما يهم:**
- **osascript + persistence** = AppleScript مع تشغيل تلقائي (إساءة استخدام أتمتة الواجهة الرسومية)
- **curl/wget + RunAtLoad** = نمط تنزيل وتنفيذ
- **python + privileged helper** = تنفيذ نصوص بصلاحيات مرتفعة
- **security + KeepAlive** = خطر جمع بيانات الاعتماد
- **launchctl + auto-start** = مثبّت ثبات من مستوى أعلى
- **netcat + persistence** = قشرة عكسية / قناة C2
يتم تتبع أكثر من 40 LOLBins مع تعيينات MITRE ATT&CK وتسجيل خطورة مراعٍ للسياق.
### سمعة الملف الثنائي والتحليل السلوكي
خوارزميات استدلالية متقدمة لكشف الأنماط السلوكية المشبوهة:
- **Hidden Persistence Guard** - وكيل KeepAlive بدون غرض مراقبة واضح
- **Aggressive Persistence** - RunAtLoad + KeepAlive على عناصر غير خدمية
- **Stealthy Auto-Start** - عملية خلفية من بائع غير معروف
- **Orphaned Persistence** - يشير Plist إلى ملف تنفيذي غير موجود
- **Suspicious Location** - ملف تنفيذي في `/tmp/` أو `/Users/Shared/` أو مجلدات مخفية
- **Privilege Escalation Risk** - وكيل مستخدم يحاول عمليات بصلاحيات مرتفعة
- **Network-Enabled Persistence** - ثبات بقدرات شبكية
- **Script-Based Persistence** - نصوص مضمّنة عبر مفسّرات
- **System Process Impersonation** - عنصر غير تابع لـ Apple يستخدم تسمية شبيهة بـ Apple
- **Frequent Restart Pattern** - StartInterval < 60 ثانية
### عدم تطابق نية Plist مقابل الملف الثنائي
يكشف عندما لا يتطابق ما يصرّح به الـ plist مع ما يفعله الملف الثنائي فعليًا - **وهذا بالضبط ما تفعله أدوات الإسقاط (droppers) الحديثة:**
- **Innocent Plist, Heavy Binary** - إعداد بسيط لكن الملف الثنائي يحمل امتيازات خطرة
- **Passive Helper with Network** - مساعد خلفي مع وصول شبكي كعميل/خادم
- **Passive Helper with Dylib Loading** - مساعد يمكنه تحميل كود غير موقّع
- **Minimal Config, Maximum Capabilities** - plist بسيط لكن امتيازات واسعة
- **Simple Task with Keychain Access** - مهمة بسيطة الشكل مع وصول إلى بيانات الاعتماد
### عمر الملف الثنائي مقابل عمر الثبات
يكشف أنماط الطوابع الزمنية المشبوهة التي تشير إلى تحديثات خبيثة بعد التثبيت:
- **Old Plist, New Binary** - النمط الكلاسيكي "تحديث خبيث بعد التثبيت"
- **Silent Binary Swap** - تعديل الملف الثنائي دون تغيير الـ plist
- **Timestamp Manipulation** - تاريخ التعديل قبل تاريخ الإنشاء (مستحيل)
- **Suspicious Modification Time** - تعديل الملف الثنائي بين 2-5 صباحًا
- **Binary Modified After Install** - ملف ثنائي غير محدِّث تغيّر بعد التثبيت الأولي
### مستويات الثقة
- 🟢 **Apple** - موقّع من Apple
- 🔵 **Known Vendor** - برمجيات جهة خارجية موثّقة
- 🟡 **Signed** - توقيع صالح لكن غير موثّق
- ⚪ **Unknown** - لا يوجد ملف تنفيذي للتحقق منه
- 🟠 **Suspicious** - شهادة منتهية الصلاحية أو مسار مشبوه
- 🔴 **Unsigned** - لا يوجد توقيع صالح
---
## الخط الزمني والتحليل الجنائي
خط زمني جنائي شامل لكل عنصر ثبات:
**الاكتشاف**
- أول ظهور - عندما تم اكتشاف العنصر لأول مرة
**ملف التكوين (Plist)**
- تاريخ الإنشاء - الطابع الزمني لإنشاء الملف
- تاريخ التعديل - آخر طابع زمني للتعديل
**الملف التنفيذي (الملف الثنائي)**
- تاريخ الإنشاء - الطابع الزمني لإنشاء الملف الثنائي
- تاريخ التعديل - آخر طابع زمني للتعديل
- آخر تنفيذ - آخر وقت وصول/تنفيذ
### كشف شذوذ الطوابع الزمنية
- **Timestomping** - تاريخ الإنشاء بعد تاريخ التعديل (تقنية مضادة للتحليل الجنائي)
- **File Replacement** - ملف تم إنشاؤه بعد الاكتشاف الأولي
- **Binary Swap** - ملف ثنائي معدّل مؤخرًا مع plist قديم (احتمال حصان طروادة)
- **Recent Execution** - ملف ثنائي تم الوصول إليه مؤخرًا لكنه غير محمّل حاليًا
---
## تكامل MITRE ATT&CK
كل آلية ثبات معيّنة إلى إطار MITRE ATT&CK:
- **التكتيكات**: الثبات، تصعيد الامتيازات، مراوغة الدفاع، التنفيذ
- **التقنيات**: T1543.001, T1543.004, T1547.001, T1547.015, وغيرها
- روابط مباشرة إلى توثيق MITRE ATT&CK
---
## تقرير مدى تدخّل التطبيقات
تحليل شامل للتطبيقات المثبتة لتقييم مستوى "التدخّل":
### نظام التسجيل المزدوج
**درجة الثبات (0-100)** - تقيّم آليات الثبات:
- أنواع المشغّلات (RunAtLoad, KeepAlive)
- مستويات الامتيازات (LaunchDaemons, Kernel Extensions, Privileged Helpers)
- المرونة (إعادة التشغيل التلقائي، المحدِّثات)
- التكرار (عناصر متعددة من نفس البائع)
- مستوى الثقة (عقوبات لغير الموقّع/المشبوه)
**درجة التثبيت (0-100)** - تقيّم بصمة "الزوائد":
- انتشار الملفات عبر مجلدات Library
- إجمالي استخدام القرص
- ملفات يتيمة (ثبات بدون تطبيق مطابق)
- تضخم ذاكرة التخزين المؤقت
- تثبيتات على مستوى النظام
### نظام الدرجات
يتم تصنيف التطبيقات من **A إلى F** بناءً على الدرجة المجمعة مع تفصيل دقيق لجميع عوامل التسجيل.
---
## التصور البصري
### لوحة الإحصائيات
- **Risk Distribution Histogram** - العناصر حسب نطاقات المخاطر (Low, Medium, High, Critical)
- **Trust Level Donut Chart** - التوزيع عبر مستويات الثقة
- **Category Breakdown Chart** - العناصر لكل فئة ثبات
- **Timeline Visualization** - أحداث دورة حياة العنصر (إنشاء، تعديل، تنفيذ، اكتشاف)
### الرسم البياني التفاعلي
- **Full System Graph** - نظرة عامة على جميع عناصر الثبات والعلاقات
- **Focused Item Graph** - رسم بياني شعاعي لتحليل عنصر فردي
- **Analysis Modes**: أساسي (ثقة/فئات) أو كامل (يشمل تبعيات dylib، اتصالات الشبكة)
- **Interactive Canvas** - تكبير/تصغير، تحريك، استكشاف العلاقات
- **Color-coded by trust level** - تقييم بصري سريع للتهديدات
### رادار ملف الأمان
مخطط رادار شامل يعرض أبعاد الثقة والتوقيع والأمان والاستقرار والشفافية والعمر في لمحة واحدة.
---
## المراقبة في الوقت الفعلي
مراقبة مستمرة لتغييرات الثبات مع وضعين للتحليل.
### أوضاع المراقبة
**الوضع القياسي**
- مراقبة نظام الملفات في الوقت الفعلي عبر FSEvents
- كبت ذكي للضوضاء مع debounce قابل للتهيئة
- تسجيل درجات الأهمية لتصفية التغييرات غير المهمة
- إشعارات فورية للتغييرات عالية الأهمية
**وضع الذكاء الاصطناعي** (يتطلب مفتاح Claude API)
- يحلل Claude AI كل تغيير يتم اكتشافه
- إرسال السياق الكامل إلى الذكاء الاصطناعي: معلومات التوقيع، LOLBins، الشذوذ السلوكي، درجات المخاطر
- يقرر الذكاء الاصطناعي ما إذا كان التغيير يستحق إشعارًا بناءً على مستوى التهديد الفعلي
- فاصل فحص قابل للتهيئة (من 30 ثانية إلى ساعة واحدة)
- تصفية عتبة الخطورة (Info, Low, Medium, High, Critical)
### تكامل شريط القوائم
- مؤشر حالة المراقبة في الوقت الفعلي
- شارة الوضع تعرض "AI" أو "Std"
- عناصر تحكم سريعة (بدء/إيقاف المراقبة، تشغيل الفحص)
- الوصول إلى الإعدادات
- عدد الشارات للتغييرات غير المقرّ بها
- معاينة آخر تغيير تم اكتشافه
### إزالة تكرار الإشعارات
- لن يطلق نفس العنصر إشعارات متكررة خلال فترة التهدئة
- فترة تهدئة قابلة للتهيئة (1-24 ساعة، الافتراضي ساعتان)
- يمنع إرهاق الإشعارات الناتج عن العناصر المتغيرة باستمرار
### إشعار بدء التشغيل
عند بدء المراقبة، تتلقى إشعارًا يؤكد ما يلي:
- الوضع النشط (وضع الذكاء الاصطناعي أو الوضع القياسي)
- فاصل الفحص (AI) أو "في الوقت الفعلي" (الوضع القياسي)
- إعدادات عتبة الإشعارات
### كشف التغييرات
- **Added** - عناصر ثبات جديدة
- **Removed** - عناصر محذوفة
- **Modified** - تغييرات التكوين (مفعّل/معطّل، تغييرات المسار، إلخ.)
- **Enabled/Disabled** - تغييرات الحالة
### تفاصيل تحليل الذكاء الاصطناعي
عندما يكون وضع الذكاء الاصطناعي نشطًا، يرسل كل تغيير بيانات العنصر الكاملة إلى Claude:
- معلومات أساسية (الاسم، الفئة، المسارات، محتوى plist)
- تفاصيل التوقيع (موقّع، Apple، موثّق، Team ID، حالة الشهادة)
- تقييم المخاطر (الدرجة، تفصيل دقيق)
- اكتشافات LOLBins مع تعيينات MITRE
- الشذوذ السلوكي
- عدم تطابق النوايا (plist مقابل الملف الثنائي)
- شذوذ العمر (تحليل الطوابع الزمنية)
- علامات موقّع-ولكن-خطير
يستجيب Claude بـ:
- `shouldNotify` - ما إذا كان يجب تنبيه المستخدم
- `severity` - تقييم مستوى التهديد
- `title` - عنوان الإشعار
- `explanation` - لماذا يعتبر هذا مشبوهًا أم لا
- `recommendation` - إجراء مقترح
- `mitreTechniques` - تقنيات ATT&CK ذات الصلة
### تخصيص الذكاء الاصطناعي
تحكم في كيفية تحليل الذكاء الاصطناعي للتغييرات عبر **Settings → AI**:
**خيارات منظمة**
| الخيار | الافتراضي | التأثير |
|--------|---------|--------|
| تجاهل الموقّع من Apple | ON | تقليل أولوية العناصر الموقعة من Apple (com.apple.*) |
| تجاهل مسارات النظام | ON | تقليل أولوية مسارات /System و /Library |
| إعطاء أولوية لغير الموقّع | ON | اهتمام إضافي بالملفات التنفيذية غير الموقعة |
| التركيز على LOLBins | ON | إعطاء أولوية لكشف Living-off-the-Land Binaries |
| الحد الأدنى لدرجة المخاطر | 0 | تحليل العناصر ذات درجة مخاطر >= العتبة فقط |
| المسارات المتجاهلة | - | مسارات مخصصة للتخطي (مفصولة بفواصل) |
**عتبة الإشعارات**
- `Info` - إشعار بكل شيء
- `Low` - إشعار من الخطورة المنخفضة فما فوق
- `Medium` - إشعار من المتوسط فما فوق (الافتراضي)
- `High` - فقط المرتفع والحرج
- `Critical` - فقط التهديدات الحرجة
**الموجّه المخصص**
أضف تعليماتك الخاصة التي يتم إلحاقها بموجّه الذكاء الاصطناعي. أمثلة:```
Always notify me if an item uses python or osascript.
Ignore anything from Microsoft.
Be more aggressive with unsigned items from ~/Downloads.
يستخدم الذكاء الاصطناعي هذه التفضيلات لاتخاذ قرارات أكثر ذكاءً. على سبيل المثال:
/tmp/ → إشعار حرجosascript مع RunAtLoad → إشعار عالٍيتضمن MacPersistenceChecker خادم MCP (Model Context Protocol) يسمح لـ Claude Code وClaude Desktop والعملاء الآخرين المتوافقين مع MCP بالاستعلام عن بيانات الاستمرارية.
swift build --target MPCServer
يتم إنشاء الملف الثنائي في `.build/debug/mpc-server`.
### أدوات MCP المتاحة
| Tool | الوصف |
|------|-------------|
| `get_current_state` | الحصول على جميع عناصر الاستمرارية الحالية مع عوامل تصفية اختيارية |
| `get_diff` | الحصول على التغييرات من خط الأساس أو لقطة محددة |
| `get_summary` | نظرة عامة مدمجة مع الأعداد وأهم التهديدات |
| `get_item_details` | تفاصيل كاملة لعنصر محدد حسب المعرّف |
| `get_risk_analysis` | تحليل مخاطر مجمّع مع توصيات |
| `get_snapshots` | سرد اللقطات المتاحة مع البيانات الوصفية |
| `compare_snapshots` | مقارنة لقطتين للكشف عن التغييرات |
### إعدادات Claude Code
أضِف إلى إعدادات MCP الخاصة بـ Claude Code (`~/.claude/claude_desktop_config.json` أو ما شابه ذلك):```json
{
"mcpServers": {
"macpersistence": {
"command": "/path/to/mpc-server",
"args": []
}
}
}
بعد الإعداد، يمكنك سؤال Claude Code:
تصدير قابل للقراءة آليًا لمسارات أمن المعلومات:
الزر يُفعَّل فقط بعد اكتمال الفحص.
تحييد العناصر المشبوهة بأمان دون حذف دائم:








git clone https://github.com/Pinperepette/MacPersistenceChecker.git cd MacPersistenceChecker ./build.sh
انسخ `MacPersistenceChecker.app` إلى `/Applications/`.
### المتطلبات
- macOS 13.0+
- Xcode 15+ أو Swift 5.9+
### التبعيات
- [GRDB.swift](https://github.com/groue/GRDB.swift) - قاعدة بيانات SQLite
---
## الصلاحيات
يتطلب **الوصول الكامل إلى القرص** لفحص:
- `/Library/LaunchDaemons`
- ملفات تكوين النظام
- قاعدة بيانات TCC
- ملفات بدء تشغيل Shell
بدون الوصول الكامل إلى القرص، قد لا تكون بعض العناصر مرئية.
---
## الترخيص
رخصة MIT - راجع [LICENSE](https://github.com/pinperepette/macpersistencechecker/blob/main/LICENSE) للتفاصيل.
## المؤلف
**pinperepette** - 2025
## سجل النجوم
<a href="https://www.star-history.com/?repos=Pinperepette%2FMacPersistenceChecker&type=date&legend=top-left">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Pinperepette/MacPersistenceChecker&type=date&theme=dark&legend=top-left" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Pinperepette/MacPersistenceChecker&type=date&legend=top-left" />
Star History Chart
</picture>
</a>
---
*مستوحى من [Autoruns](https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) لنظام ويندوز من Mark Russinovich*