Special K "Disebut dengan penuh kasih sebagai Swiss Army Knife untuk game PC, Special K melakukan hampir segalanya. Ia terkenal karena memperbaiki dan meningkatkan grafik, banyak analisis kinerja mendetail dan mod koreksi, dan palet alat yang terus berkembang yang memecahkan berbagai macam masalah yang mempengaruhi game PC."
Isi Repositori
Repositori ini berisi kode sumber untuk muatan injeksi kode Special K (
SpecialK(32|64).dll
).Utilitas pendukung seperti SKIF ( Special K I njection Frontend ) dan SKIM yang sekarang sudah tidak digunakan lagi ( S pecial K I njection Frontend ) dipertahankan sebagai proyek terpisah. Selain itu, beberapa mod lama yang dibuat menggunakan Special K ada sebagai DLL plug-in yang berdiri sendiri; plug-in dan SKIM tidak lagi dikelola secara aktif, tetapi dapat diakses melalui profil GitHub Kaldaien.
Bangun KetergantunganSemua dependensi build Special K disertakan saat Anda mengkloning repo yang dimulai dengan 23.5.7. Versi yang lebih lama memiliki ketergantungan tambahan pada DirectX SDK Juni 2010.
K Khusus memerlukan Visual C++ 2022 atau yang lebih baru untuk dikompilasi karena fitur bahasa yang tidak ada di kompiler lama.
Ketergantungan PlatformSpecial K tidak didukung pada versi apa pun yang lebih lama dari Windows 8.1, meskipun (mulai 23.5.7) masih dibuat dan berjalan (dengan pengurangan fitur secara besar-besaran) pada Windows 7 (Pembaruan Platform).
Ini berjalan di WINE dan kompatibel dengan DXVK, tetapi harus dikonfigurasi dengan
UsingWINE=true
dalam file INI per game agar dapat bekerja di Linux.
Aneka ragamAda kemungkinan besar proyek tidak akan dikompilasi dengan benar jika Anda menggunakan konfigurasi build Debug, Special K dirancang untuk menghasilkan build Rilis yang dapat di-debug.
DLL Special K mampu memasukkan kodenya dengan salah satu dari dua cara berikut:
Proxy Injeksi Lokal / Wrapper DLL
SpecialK(32|64).dll
menjadi (dxgi|d3d11|d3d9|d3d8|ddraw|dinput8|OpenGL32).dll
dan ikuti perjalanan melalui Static Imports atau panggilan ke LoadLibrary (...)
.Rantai Kait Global Win32 Injeksi Global
Ini adalah teknik yang disukai, dan DLL mampu melakukan bootstrap hook tanpa bantuan dari luar melalui
RunDLL_InjectionManager (...)
( rundll32.exe akan meng-host DLL sebagai proses UI Win32 normal).
Masih banyak lagi cara yang mungkin untuk menginjeksi DLL, dua cara yang diuraikan di atas dapat digunakan tanpa alat tambahan apa pun.
Special K akan dengan senang hati menyuntikkan ke dalam game yang sudah berjalan jika Anda ingin membuat alat Anda sendiri menggunakan sesuatu seperti CreateRemoteThread (...)
, namun perlu diingat bahwa injeksi yang terlambat akan mencegah beberapa fitur Special K (khususnya yang terkait dengan D3D override dan mod shader/tekstur) tidak berfungsi.
Kait CBT dipilih karena pesanan rantai kait. Karena sebagian besar API grafis di Windows memerlukan jendela sebelum dapat melakukan inisialisasi non-sepele, hook CBT dengan andal membawa kita ke dalam aplikasi sebelum pembuatan swapchain D3D9/11/12.