Makale nasıldı?

1539530çerez kontrolüSkyrim Birlikte ve SKSE'de Kod Kullanımı ve Yasal Sorunlar Nedeniyle Sorunlar Ortaya Çıkıyor
medya
2019/02

Skyrim Birlikte ve SKSE'de Kod Kullanımı ve Yasal Sorunlar Nedeniyle Sorunlar Ortaya Çıkıyor

Bethesda'nın 2011'deki hit RPG'sinde son zamanlarda çirkinleşebilecek bazı modder sorunları ortaya çıkmış gibi görünüyor The Elder Scrolls V: Skyrim. Yakın zamanda bir SKSE geliştiricisi, SKSE kodunun SKSE'de nasıl kullanıldığını özetledi. Birlikte Skyrim Birkaç şartı ihlal eden bu modun SKSE ekibine kötü yansıyacağı ve "Bethesda ile çok kötü bir hukuki duruma" yol açabileceği söyleniyor.

Eğer bilmiyorsanız, Skyrim Script Extender (SKSE), birçok kişi tarafından kullanılan bir araçtır. Skyrim ek/yeni işlevler eklerken komut dosyası yazma yeteneklerinin yeni sınırlara ulaşmasını sağlayan modderler Skyrim.

Bu şimdi şuna yol açıyor Birlikte SkyrimŞu anda beta aşamasında olan yeni bir moddur. Bu mod arkadaşlara izin verir Skyrim oyuncular bir araya gelerek söz konusu oyunun fantastik dünyasını keşfedebilirler. Ancak modun arkasındaki ekibin Patreon hesabı betayı denemek için bağış yapılması gereken kişi:

“TÜM eski ve gelecekteki kullanıcılara kapalı beta erişimi vermeye karar verdik, katkı miktarını umursamıyoruz, katılım için 1$ yeterli. Bu bir BETA, durumdan memnun değilseniz 1$'ınızı iade etmeyeceğiz. Beta sürümünden, çünkü bununla uğraşacak zamanımız yok. Emin değilseniz betaya katılmayın, bunu yalnızca sunucularımıza katılan kişi sayısını sınırlamak için yaptık. Tamamen işlevsel, hatasız bir deneyim bekliyorsanız söz vermeyin."

Ancak bu durumda Bethesda ile ilgili solucanlara ve yasal sorunlara yol açabilecek bir sorun var. SKSE geliştiricisi Extrwi'ye göre alt reddit hakkında aşağıdaki bilgiler r/skyrimmods 2 Şubat 2019'da yayınlandı:

“Sanırım daha fazla drama yapmanın zamanı geldi. Üzgünüm, böyle şeyler yapmaktan nefret ediyorum.

 

Skyrim Together, lisansta yazarlardan birinin kodla herhangi bir ilgisi olmasını kısıtlayan açık bir şartla, adı geçmeyen, izinsiz olarak SKSE kodunu çalıyor. herhangi birini kullanmayı reddediyor (bunun silinmesi durumunda)? Bir sökücüdeki yükleyiciye ve dll'ye baktığınızda kanıt oldukça açıktır. Yapı türlerini x1.7.3 ve x64 sürümleri arasında gerektiği gibi değiştirmek için muhtemelen bazı önişlemci makrolarıyla birlikte 86 classic'in hacklenmiş bir sürümünü kullanıyorlar.

 

Yükleyiciden başlayarak, temelde tüm seçeneklerin dosyalandığı ve hata mesajlarının değiştiği skse_loader'dır. Temel olarak, CreateProcessA'nın hata kodunu ERROR_ELEVATION_REQUIRED'e karşı kontrol ediyorlar, ardından bu durumu ele almak için biraz yeniden ifade edilmiş bir hata mesaj kutusu var. Bunun biraz şüpheli bir tesadüf olduğunu görebiliyordum.

 

+4B81 adresindeki gerçek DLL enjeksiyon koduna gidin ve skse64skse64_loader_commonInject.cpp'nin InjectDLLThread'ini takip edin. İlk işlev yalnızca bir SEH sarmalayıcıdır ve asıl işi yapmak için DoInjectDLLThread'i çağırır. DoInjectDLLThread neredeyse tamamen aynı görünüyor, yalnızca DLL'nin kaldırılmış olup olmadığı kontrol edildiğinde. WaitForSingleObject için zaman aşımı tamamen aynıdır, hatta INFINITE arasında geçiş yapılıyor, 60 saniye ve aynı indekslere sahip iki bool argümanı aracılığıyla hiç çağrılmıyor. Bu oldukça açık bir kopya.”

Extrwi, yukarıdaki bilgileri aşağıdaki görüntüdeki DLL ile ilgili tonlarca dosya yolunu gösteren bir gönderiyle takip edecektir:

Imgur.com görünümü sonrası

Extrwi daha sonra ana SKSE kaynağının, SKSE ortak dosyalarının (veya MIT lisansının) aksine, açık kaynak lisansı altında nasıl lisanslanmadığını açıklıyor:

“Common elbette MIT lisanslıdır ve atıf gerektirmez (ancak her zaman takdir edilir), ancak ana SKSE kaynağı böyle değildir. Teknik olarak her zaman ortak telif hakkı yasası kapsamındadır."

Extrwi'nin yazısında SKSE'den kopyalanan değiştirilmemiş koda da değiniliyor:

“DLL'in tamamına bakıldığında, yalnızca dizelerden ve hata mesajlarından SKSE'den değiştirilmeden kopyalanmış olarak kolayca tanımlanabilecek tonlarca kod var. Yeni komut dosyası işlevlerinin tümü olmasa da çoğu, serileştirme, temelde her şey orada. RTTI verileri tonlarca SKSE özel sınıfına işaret ediyor; dürüst olmak gerekirse her şey beni hasta ediyor.

 

Ekledikleri işlevlerde doğrudan kullanılan harika bir SKSE kodu istiyorsanız, TESNPC tanımına bakın ve bunu bir TESNPC üyelerinin üzerinde yürüyor gibi görünen +2B5A00 işleviyle karşılaştırın (diğer şeylerin yanı sıra) ) bir dize oluşturmak için. Numaralandırılmış "bilinmeyen" olanlar da dahil olmak üzere alanların adları eşleşiyor. Bu tesadüfün ötesinde.”

Extrwi, "dumanı tüten silah"ın sergilenmesiyle, Skyrim Together ekibinin yaptığına benzer tehlikeli eylemlerin başkalarına ne gibi zararlar verebileceğini açıklayarak sözlerini bitiriyor:

“Bu kaynak kodu hırsızlığının adı tamamen geçmiyor, yazarlar tarafından reddediliyor ve eminim ki şu anda yalnızca ücretli olarak kullanılabilen modlarının geliştirilmesinde çok yardımcı olmuştur. Şu anda bu durumla ilgili ne yapacağımı bilmiyorum.

 

Sıradan yerel kod eklentilerinin doğrudan SKSE kaynak kodunu kullanmasının normal olduğunu ve bunda bir sorun olmadığını unutmayın. Kaynaklarının ulaşılabilir olması gerekiyor ama gerçekte bu her zaman olmuyor. ST, lisansı ihlal ederek, kredi vermeyerek, kapalı kaynak tutmak için elinden geleni yaparak ve bir mod için etkili bir şekilde ücret alarak sorun yaratıyor. Bu bize kötü yansıyor ve bizi Bethesda ile çok kötü bir hukuki duruma itiyor.”

Yukarıda listelendiği gibi, Extrwi'nin yazdığı yazının tamamı şu adreste bulunabilir: r/skyrimmods.

diğer Medya