Special K "يشار إليها بشكل محبب باسم Swiss Army Knife لألعاب الكمبيوتر، تقوم Special K بالقليل من كل شيء. وهي مشهورة بإصلاح الرسومات وتحسينها، والعديد من تحليلات الأداء التفصيلية وتعديلات التصحيح، ولوحة متزايدة باستمرار من الأدوات التي حل مجموعة واسعة من المشكلات التي تؤثر على ألعاب الكمبيوتر."
محتويات المستودع
يحتوي هذا المستودع على التعليمات البرمجية المصدر لحمولة حقن التعليمات البرمجية الخاصة بـ Special K (
SpecialK(32|64).dll
).يتم الاحتفاظ بالأدوات المساعدة الداعمة مثل SKIF ( S pecial K I njection F rontend) وSKIM المهملة الآن ( S pecial K I nstall M Anger) كمشروعات منفصلة. بالإضافة إلى ذلك، توجد بعض التعديلات القديمة التي تم إنشاؤها باستخدام Special K كمكتبات DLL إضافية مستقلة؛ لم تعد المكونات الإضافية وSKIM تتم صيانتها بشكل نشط، ولكن يمكن الوصول إليها عبر ملف تعريف GitHub الخاص بـ Kaldaien.
بناء التبعياتيتم تضمين جميع تبعيات بناء Special K عند استنساخ الريبو بدءًا من 23.5.7. الإصدارات الأقدم لها اعتماد إضافي على DirectX SDK الصادر في يونيو 2010.
يتطلب Special K Visual C++ 2022 أو إصدار أحدث للتجميع نظرًا لميزات اللغة غير الموجودة في المترجمين الأقدم.
تبعيات النظام الأساسيSpecial K غير مدعوم في أي شيء أقدم من Windows 8.1، على الرغم من أنه (اعتبارًا من 23.5.7) لا يزال يتم إنشاؤه وتشغيله (تقليل الميزات بشكل كبير) على Windows 7 (تحديث النظام الأساسي).
إنه يعمل في WINE وهو متوافق مع DXVK، ولكن يجب تهيئته باستخدام
UsingWINE=true
في ملف INI لكل لعبة للعمل على Linux.
متنوعهناك احتمال كبير أن المشروع لن يتم تجميعه بشكل صحيح إذا كنت تستخدم تكوين بناء Debug، فقد تم تصميم Special K لإنتاج إصدارات إصدار قابلة للتصحيح.
ملفات DLL الخاصة بـ Special K قادرة على حقن التعليمات البرمجية الخاصة بها بإحدى طريقتين:
وكيل الحقن المحلي / المجمع DLL
SpecialK(32|64).dll
إلى (dxgi|d3d11|d3d9|d3d8|ddraw|dinput8|OpenGL32).dll
واحصل على رحلة عبر عمليات الاستيراد الثابتة أو الاتصال بـ LoadLibrary (...)
.الحقن العالمي Win32 هوكشين العالمية
هذه هي التقنية المفضلة، وDLL قادر على تمهيد الخطاف دون أي مساعدة خارجية عبر
RunDLL_InjectionManager (...)
(سيستضيف rundll32.exe ملف DLL كعملية Win32 UI عادية).
هناك العديد من الطرق الممكنة لإدخال ملفات DLL، والطريقتان الموضحتان أعلاه يمكن استخدامهما بدون أي أدوات إضافية.
سيكون من دواعي سرورنا أن يتم إدخال Special K في لعبة قيد التشغيل بالفعل إذا كنت تريد إنشاء أداة خاصة بك باستخدام شيء مثل CreateRemoteThread (...)
، ولكن ضع في اعتبارك أن الإدخال المتأخر سيمنع بعض ميزات Special K (خاصة تلك المتعلقة بـ D3D) التجاوزات وتعديلات التظليل/الملمس) من العمل.
تم اختيار خطافات CBT بناءً على ترتيب سلسلة الخطافات. نظرًا لأن معظم واجهات برمجة التطبيقات الرسومية على نظام التشغيل Windows تحتاج إلى نافذة قبل أن تتمكن من إجراء تهيئة غير تافهة، فإن خطاف CBT ينقلنا بشكل موثوق إلى التطبيق قبل إنشاء سلسلة المبادلة D3D9/11/12.