İçeriğe geç
PS5PCEM
ÇalışıyorCPU, yükleyici ve araçlar

ELF ve SELF yükleme

Yükleyici şifresi çözülmüş PS5 SELF ve çıplak ELF64 modüllerini eşler, yer değiştirmeleri uygular ve içe aktarmaları HLE kaydına göre çözer. Oyun ardından kendisi başlattığı modüller için kararlı tanıtıcılar alır.

10 Ekim 2026 tarihine kadarki depo notları

Görüntüler

Bir PlayStation 5 yürütülebilir dosyası genellikle bir ELF64 görüntüsünü saran bir SELF kapsayıcısıdır. PS5PCEM hem kapsayıcıyı hem çıplak bir ELF'i okur. Okuyucu içe aktarmaları toplar, segmentleri ayrılmış misafir adres alanına eşler ve yer değiştirmeleri uygular. TLS görüntüleri onları çalıştıracak iş parçacıklarıyla kaydedilir.

Araçlar oyunu başlatmadan bir modülü inceleyebilir, yer değiştirilmiş bir bağımlılık grafiğini dökebilir veya bir shader'ı ayrıştırabilir. game-run; yükleyen, HLE'yi başlatan ve misafire giren yoldur. Şifresi çözülmüş eboot.bin kurulumdan ayrı duruyorsa --app0 salt okunur bağlamayı içerik dizinine yönlendirir.

Oyunun sonradan başlattığı modüller

Çalışma zamanı, misafir kodu çalışmadan önce ulaşılabilir bağımlılık grafiğini ve PS5_PRELOAD'da adı geçen her şeyi eşler. sceKernelLoadStartModule ardından bu kümedeki bir modül için kararlı bir tanıtıcı döndürür. Onu yeniden yüklemek ikinci bir yer değiştirilmiş kopya oluşturmaz. sceKernelDlsym oyunun verdiği adı özetler ve yalnızca tanıtıcının seçtiği modülde arar; böylece aynı geri çağırmayı dışa aktaran iki eklenti birbirine karışmaz.

Yol eşleştirmesi eğik çizgi yönünü ve büyük/küçük harfi yok sayar. Gözlenen bir oyun Il2CppUserAssemblies.prx ister ve Il2cppUserAssemblies.prx ile gelir. Tam eşleşme, oyunun kurduğu bir dosyayı reddederdi. Göreli yol çıplak dosya adından önce denenir; böylece dosya adı aynı olan iki modül ayrı kalır. Yayımlanan kümede olmayan bir modül ENOENT döndürür. Misafir iş parçacıkları zaten çalışırken eşlenmez.

Unity eklentileri

Unity eklentileri yapıcıları ertelenerek eşlenebilir. sceKernelLoadStartModule onları bu yapıcıları grafik başlatması sırasında çalıştırmak yerine oyunun gerçek bağımsız değişken bloğuyla bir kez başlatır. Bu sıralama, bağımsız değişkenlerini gören bir eklenti ile çok erken başlayan bir eklenti arasındaki farktır.

Yükleyici perakende bir SELF'in şifresini çözmez. Girdi, kullanıcının yüklemeye hakkı olan şifresi çözülmüş bir görüntüdür. Şifreli paketler PKG aracının konusudur ve perakende şifreleme o aracın da dışındadır.

Uygulananlar

  • ELF64 ve şifresi çözülmüş SELF eşleme, yer değiştirme, içe aktarmalar ve TLS.
  • Önceden yüklenmiş bir bağımlılık grafiği ve kararlı sceKernelLoadStartModule tanıtıcıları.
  • Büyük/küçük harfe duyarsız yol eşleştirmesiyle seçilen modülle sınırlı Dlsym.
  • Gerçek bağımsız değişkenlerle başlasınlar diye Unity eklentileri için ertelenmiş yapıcılar.

Hâlâ eksik olanlar

  • Yalnızca açılıştan sonra ortaya çıkan ve önceden yüklenmemiş bir modül ENOENT döndürür.
  • Şifreli perakende SELF görüntülerinin şifresi çözülmez.
  • İnceleme sürümleri, Windows dışı ana sistemlerde yüklenen görüntüyü yürütmez.

İlgili mekanizmalar

Bu sayfalar nedir

Metin, PS5PCEM deposundaki mimari notları ve Ekim 2026 raporlarını izler. Odaklı bir testin geçmesi yeni bir kare hızı veya oyunun yeniden bitirilmesi anlamına gelmez.

Tüm teknolojiler