
بحث شخصي في بنية Xbox Series
| الحقل | القيمة |
|---|---|
| التاريخ | 9-12 مارس 2026 + 7-? يوليو 2026 |
| العتاد | Xbox Series S (الاسم الرمزي: Lockhart) |
| إصدار نظام التشغيل | 26100.7010.amd64fre.xb_flt_2602ge.260212-1010 + 26100.8561.amd64fre.xb_flt_2606ge.260609-2200 |
| طريقة الوصول | وضع المطور + SSH + REST API + وصلة مشاركة ملفات NTFS |
هذا التقرير هو تحليل ثابت وديناميكي للبنية الداخلية لـ Xbox Series S، أُجري بالكامل عبر البنية التحتية الرسمية لوضع المطور من Microsoft. لم تُستخدم أي ثغرات أو مخالفات للسياسات؛ كانت جميع وسائل الوصول ضمن حدود برنامج المطور الفردي.
يحتوي هذا على تفاصيل تبدأ من المكوّنات عالية المستوى المستخدمة في اللعب، وصولاً إلى أدنى مكوّنات برامج تشغيل النظام على مستوى النظام. من المتوقع أن تكون معظم هذه التفاصيل مماثلة أيضاً بالنسبة لـ Xbox One.
تم استخدام الذكاء الاصطناعي لتنسيق البحث الأولي الكبير (أكثر من 200 مخرجات تحليل وأكثر من 50 ملاحظة عشوائية) بسرعة كبيرة في هذا المستند. جميع التعديلات المستقبلية تُجرى يدوياً.
إذا رأيت أن أي نقطة في هذا غير واضحة، أو غير موثقة جيداً، أو خاطئة، فلا تتردد في مراسلتي، أو إذا كان لديك أي إجابات على أسئلتي (في القسم 12) فسيكون ذلك رائعاً أيضاً. يتم حذف GUIDs والأنماط الشائعة الأخرى في خطاف pre-commit تحسباً لترك أي شيء يحدد هوية حسابي.
الكثير مما أعمل عليه عبارة عن افتراضات، لذا قد يكون غير دقيق، وسيتغير مع حصولي على مزيد من المعلومات وفحص المزيد من الملفات الثنائية.
لأسباب قد تخمّنها، لن أشارك بأي حال من الأحوال الملفات الثنائية المباشرة، أو مخرجات التفكيك، أو أي شيء يُعتبر ملكية فكرية لـ Microsoft أو شركاتها التابعة.
ERA = GameOS Partition
SRA = SystemOS Partition
HT = Kinect (possibly "Human Tracking"?)
Arden = Xbox Series X/S GPU Stack
NewBe = Arden shader compiler
توجد إدارة لنظام التشغيل المضيف (Host OS) لبرامج التشغيل خارج نموذج SRA/ERA المعروف، انظر نموذج الثقة (الأقسام 4.2، 17.5). يتم تحميل XVIO.SYS وXSraFlt.sys مباشرة بواسطة الهايبرفايزر (عبر HostOS) قبل تهيئة Windows، وهما غائبان عن جميع وحدات التخزين المتاحة. لا يمكن العبث بهما حتى مع الوصول الكامل إلى النواة، وهو الحد الأمني الأساسي.
تم تعطيل HVCI عمداً (القسم 18). يؤكد IsSecureKernelRunning = 0x0 أن النواة الآمنة (VTL1) غير قيد التشغيل. سلامة الكود تكون عند التحميل فقط، مما يترك نافذة TOCTOU بمجرد تعيين الملفات الثنائية. هذه مقايضة أداء متعمدة؛ الحد الأمني هو قسم الهايبرفايزر، وليس حماية الذاكرة داخل القسم.
تعرض وصلة NTFS نظام ملفات SystemOS الكامل عبر الشبكة (القسم 1.2). أمر واحد mklink /J من قشرة SSH يعيّن C:\ أو أي شيء آخر في مشاركة ملفات Device Portal، مما يجعل كل ملف ثنائي للنظام قابلاً للقراءة عن بُعد دون مصادقة إضافية تتجاوز رمز PIN الخاص بوضع المطور.
البنية عبر الأقسام شبه موثقة بالكامل (الأقسام 4، 14، 26-28). يتواصل قسم ألعاب ERA مع SystemOS حصرياً عبر قنوات بوساطة الهايبرفايزر: مخازن حلقية XVIO للإدخال/الإخراج، وترجمة GPA للذاكرة المشتركة، وHvSocket للاتصال بين العمليات، وأقسام منفذ ALPC لتسليم framebuffer بدون نسخ (zero-copy) بموجب "Host OS" الوالد.
وصلة Deploy:\ تتجاوز قيود الوصول المحلي (القسم 25). يكون حجم Windows Update متاحاً فقط عبر مشاركة الشبكة (S:\Deployment\SoftwareDistribution\) بسبب بعض التناقض في مكان ما (ربما xrfssvc.exe؟).
معظم الملفات الثنائية تحتوي فقط على سلاسل وصفية، لم أكن أعلم ذلك حتى اليوم لأنني لم أكن أستخدم Windows لأي شيء سوى الاتصال الفعلي بالكونسول. غالباً ما تكون مملة (مثل XVUH، XVMCTRL) لكن في أحيان أخرى تكون وصفية جداً (مثل Durango Virtual XVNC Bus Driver، Xbox Remote File System Service).
أُجريت جميع الاختبارات على جهاز Xbox Series S تجزئة واحد في وضع المطور. تعكس النتائج العديد من الإصدارات، لكنني سأقوم في النهاية بمقارنة الإصدارات وتوثيق ذلك. قد تختلف النتائج عبر مراجعات العتاد (Series X، Xbox One) وإصدارات البرامج الثابتة. لم تكن عدة أسطح على مستوى النواة قابلة للوصول: يتم حظر تفريغات النواة الحية بواسطة قيد NoKernelDumps، ولم يتم تعداد سطح IOCTL الخاص بـ xvmctrl.sys بالكامل. تُتتبع الأسئلة المفتوحة في القسم 12.
| الأداة | الغرض |
|---|---|
| Windows Explorer | مشاركة شبكة Xbox (التعليمات في https://XBOX:11443/#File%20explorer > تصفّح) |
SSH (DevToolsUser + VS PIN) | الوصول إلى قشرة SystemOS |
mklink /J | إنشاء وصلة NTFS لـ كشف محركات الأقراص عبر مشاركة الشبكة |
Device Portal (https://XBOX:11443) | REST API، مستعرض ملفات، قائمة العمليات، تفريغات حية |
dumpbin /IMPORTS, dumpbin /EXPORTS | تحليل ثابت لملفات PE الثنائية عبر مشاركة الشبكة |
| Python | نص برمجي لأتمتة REST API |
| Phasor | بيئة تشغيل نصوص برمجية للاستخدام على الكونسول (نسخ عبر مشاركة الشبكة، تشغيل عبر SSH) نزّلها من هنا |
reg query | تعداد السجل من قشرة SSH |
WdApp.exe | مدير الحزم والتحكم في دورة حياة ERA (تعداد سطح الأوامر) |
WdConfig.exe | تعداد API إعدادات الكونسول |
| تحليل تتبعات ETL | خط أنابيب Windows Update عبر وصلة S:\Deployment\SoftwareDistribution\ |
| تفريغات العمليات الحية | GET /api/debug/dump/usermode/live?pid=<pid> |
| Ghidra | تحليل واجهات COM / برامج التشغيل |
| IDA Pro | مخططات استدعاء لملفات DLL وواجهات COM المعقدة |
| XboxTools | مجموعتي الخاصة من الأدوات المساعدة لأغراض متنوعة |
تم إنشاء الوصول عبر واجهة SSH الخاصة بوضع المطور غير الموثقة رسمياً (ولكن توجد وثائق مجتمعية). وسّعت تقنية وصلة NTFS (القسم 1.2) وصول القراءة من مساحة D:\DevelopmentFiles المؤقتة إلى كامل وحدة تخزين النظام C:\ وجميع وحدات التخزين ذات الأحرف الإضافية. كانت جميع التحليلات للقراءة فقط؛ لم يتم تعديل أي إعدادات للنظام (لم يتم استخدام WdConfig.exe set). يمكن لـ Xbox تشغيل ملفات Windows console الثنائية القياسية x86_64 (مترجمة مع /MT) مباشرة عبر قشرة SSH، والتي استُخدمت لتشغيل أدوات التحليل محلياً.
لم تكن تفريغات النواة متاحة: قيد NoKernelDumps في Device Portal يمنعها على وضع المطور في الأجهزة الاستهلاكية. كانت تفريغات العمليات الحية في وضع المستخدم متاحة واستُخدمت عند الاقتضاء.
يدعم وضع مطور Xbox Visual Studio، ويستخدم هذا SSH:
DevToolsUserتعرض بوابة Device Portal على https://XBOX:11443 مشاركة ملفات NTFS مخفية إلى D:\DevelopmentFiles. من قشرة SSH:```batch
mklink /J D:\DevelopmentFiles\C C:\
يؤدي هذا إلى إنشاء نقطة junction من مساحة عمل المطور المؤقتة إلى جذر محرك الأقراص C:، مما يعرض نظام ملفات SystemOS بالكامل كمشاركة شبكة قابلة للقراءة على:
\\XBOX\DevelopmentFiles\C
يتيح ذلك تشغيل أدوات مثل `dumpbin` من جهاز كمبيوتر مباشرةً مقابل ملفات Xbox الثنائية عبر الشبكة.
---
## 2. هوية نظام التشغيل