
متصفح الملفات ومدير بيانات التطبيقات ومنظف ذاكرة التخزين المؤقت لنظام iOS 27 (worse_query، بدون كسر الحماية)
ملفات WQ هي متصفح ملفات ومدير بيانات التطبيقات ومنظّف ذاكرة تخزين مؤقت لنظامي iOS 26 و27. يرمز "WQ" إلى worse_query، وهي تقنية العزل (sandbox) التي بُنيت عليها. تصل إلى حاويات التطبيقات الأخرى وحاويات النظام دون كسر الحماية (jailbreak) ودون استغلال للنواة (kernel exploit). تم اختبارها على iOS 26.7.1 و27.0.1 و27.2.
iOS 26 (من 26.0 إلى 26.7.2): دعم أولي منذ الإصدار 0.7؛ تم اختبارها على 26.7.1. تصل worse_query إلى حاويات التطبيقات والإضافات (extensions) والخوادم (daemons) ومجموعات التطبيقات هناك، لكن ليس إلى System Data أو مجموعات النظام، لذا تخفي ملفات WQ هاتين الفئتين ولا يحتوي منظّف ذاكرة التخزين المؤقت على قسم سجلات الأعطال. قد يستغرق فحص inode الكامل معظم ساعة على iOS 26، لذا تُدرَج App Data وExtension Data وApp Groups من قاعدة بيانات LaunchServices بدلاً من ذلك (تُكتشف مرة واحدة وتُحفظ في الذاكرة). لا توجد Internal Daemons في تلك القاعدة: يستغرق الفحص الأول لها وقتًا طويلاً، بينما تتحقق الفحوصات اللاحقة من الملفات الجديدة فقط. تعمل التطبيقات والنسخ الاحتياطية والاستعادة ومسح بيانات التطبيقات ومنظّف ذاكرة التخزين المؤقت ومتصفح الملفات كما هو الحال على iOS 27. أما أيقونات التطبيقات فلا تعمل: يمنح iOS 26 ملفات WQ أيقونات بديلة فقط ولا يسمح لها بقراءة حزم التطبيقات الأخرى، لذا تظهر التطبيقات كبلاطات رموز.
Containers/Data/Application)،
تُعرض باسم التطبيق وأيقونته بدلاً من UUID./var/containers/Data/System (للسرد فقط؛ محتوياته
مملوكة للمستخدم root).لا يمكن سرد المجلدات الأب للحاويات، لذا تأتي App Data وExtension Data وApp
Groups من قاعدة بيانات LaunchServices، التي تسرد حاويات كل تطبيق وإضافة مثبّتة.
تُكتشف مرة واحدة (ضمن أحدث الملفات، عادةً خلال ثوانٍ) وتُحفظ في الذاكرة. أما
Internal Daemons، ومجلدات التطبيقات عندما يتعذّر قراءة قاعدة البيانات، فتتطلب
فحص كل معرّف ملف (fsgetpath، بالطريقة التي يفعلها KAMUI): دقائق على جهاز
كثير الاستخدام في المرة الأولى، لذا تسأل ملفات WQ قبل أن تبدأ وتعرض نافذة
فحص؛ تتحقق الفحوصات اللاحقة من الملفات الجديدة فقط.
tmp مؤقت عمدًا: فالمسح يزيله، لكن النسخ الاحتياطية للتطبيقات لا تتضمنه، والاستعادة تترك tmp الحالي دون تغيير.-wal الخاص بها، لذا لا تتغير ملفات التطبيق نفسه أبدًا؛ أغلق التطبيق أولًا للحصول على نسخة محدثة.تأتي أسماء التطبيقات من قاعدة بيانات LaunchServices الخاصة بها، مقروءة من حاوية lsd (واجهة LaunchServices API نفسها ترفض هذا التطبيق على 27.x). الخدمات من Apple التي لها أسماء مترجمة فقط تستخدم جدولًا مدمجًا. الخدمات التي لا تحتوي على أيقونة تحصل على مربع رمز.
قبل الكتابة فوق ملف عادي أو حذفه، تُنسخ محتوياته إلى Backups داخل التطبيق (يمكن الوصول إليها أيضًا في تطبيق Files). اضغط مطولًا على نسخة احتياطية لاستعادتها إلى موقعها الأصلي. في متصفح الملفات لا يمكن حذف سوى المجلدات الفارغة؛ وتُزال الروابط الرمزية كروابط. مسح بيانات تطبيق وتنظيف ذاكرات التخزين المؤقت يحذفان دون نسخ احتياطي ملفًا بملف؛ ويعرض Apps نسخ احتياطي لـ Documents وLibrary أولًا، بينما يُهمل tmp ولا يمكن استعادته. أغلق التطبيق المستهدف قبل النسخ الاحتياطي أو الاستعادة أو المسح. تُتحقق نسخ التطبيقات عبر بصمة استقرار المصدر، وبصمة شكل الوجهة، وتجزئات محتوى الأجزاء المخزنة (تُعاد مراجعتها قبل الاستعادة والتراجع)، وتُعاد مراجعة شروط ما بعد الإزالة، لكن العمليات ليست لقطات لنظام الملفات إذا ظل التطبيق المستهدف قيد التشغيل. لا تتغير بيانات الهدف إلا استجابةً لإجراءات صريحة؛ وقد تُستعاد معاملات السلامة المتقطعة عند بدء التشغيل.
يحتفظ حفظ الملفات بالـ inode الأصلي ويتحقق من هوية واصف الملف والمحتويات المحفوظة. الأقفال استشارية: يمكن لتطبيق آخر يتجاهلها أن يكتب في الوقت نفسه، والكتابة في المكان نفسه ليست ذرّية ضد الأعطال. أغلق التطبيق المستهدف واحتفظ بالنسخ الاحتياطية الدائمة. تفشل الاستعادة بشكل آمن عندما تكون مواد السلامة المطلوبة مفقودة. تُرفض عمليات الكتابة فوق/الحذف العامة على ملفات تخزين النسخ الاحتياطي لتجنب النسخ الاحتياطي المتكرر للنسخ الاحتياطية؛ ومع ذلك يمكن استعادة النسخ الاحتياطية الصالحة. توجد النسخ الاحتياطية للتطبيقات في App Backups (أيضًا في تطبيق Files)؛ ولا تُقلَّم القديمة تلقائيًا أبدًا. اضغط Select في Backups أو App Backups لاختيار مجلد نسخ احتياطي كامل واحد أو أكثر وحذفها معًا؛ ولا يزال يمكن إزالة مجلد واحد عبر Delete Backup. تُركت عملية التقليم التلقائي عمدًا خارج النطاق حتى لا تُهمل نسخة سلامة أبدًا دون قرار من المستخدم.
قد يؤدي تعديل ملفات تطبيق آخر أو ملفات النظام إلى إحداث أعطال. احتفظ بالنسخ الاحتياطية ولا تغيّر إلا ما تفهمه.
fsgetpath لوحدة
تخزين البيانات. يُسجَّل أي مجلد أب مفقود/مرفوض، أو فشل في فحص inode، أو
استنفاد حد الفحص على أنه enumerate: … وapp scan: … في السجل. لا يعتبر
البناء الحالي إلا المجلد الأب المفقود فشلًا؛ أما المجلد الأب المرفوض وفشل
فحص الاكتمال فيعيدان المجموعة الفرعية المفحوصة، لذا أعد التحديث بدلًا من افتراض
عدم وجود تطبيقات.NO TOKEN: كان مسار الحاوية ظاهرًا لكن تعذّر على wq_grant
الحصول على رمز sandbox. من الأسباب الشائعة موقّع أسقط App
Group، أو فشل تبديل ذاكرة التخزين المؤقت لمجموعة التطبيقات، أو حاوية يرفضها
استعلام مجموعة التطبيقات. راجع أسطر grant failed/enumerate في السجل.(no label): تم الحصول على رمز، لكن تعذّرت قراءة معرّف الحاوية
(xattr الخاص بـ com.apple.containermanager.identifier أو plist البيانات
الوصفية للحاوية). في iOS 27.2 لا يمكن قراءة السمة على الإطلاق،
لذا يطلب WQ Files أيضًا من مدير الحاويات خريطة من المسار إلى المعرّف
ثم يبحث عن الحاوية في قاعدة بيانات LaunchServices، التي تسرد
حاوية البيانات لكل تطبيق ومعظم الإضافات. إذا ظل المعرّف مفقودًا
(على سبيل المثال حاوية نظام/خدمة خلفية بلا معرّف، أو إضافة لا تسردها
قاعدة البيانات)، يبقى المجلد قابلًا للتصفح لكن لا يمكن نسخه احتياطيًا أو
مسحه حتى يتوفر المعرّف.أضف هذا المصدر للحصول على WQ Files وتحديثاته:
https://raw.githubusercontent.com/kolbicz/WQFiles/main/source.json