Jaký byl článek?

1539530kontrola cookiesSkyrim společně a SKSE Problémy vznikají kvůli používání kódu a právním problémům
Media
2019/02

Skyrim společně a SKSE Problémy vznikají kvůli používání kódu a právním problémům

Vypadá to, že se nedávno objevily nějaké problémy s moddery, které by se mohly stát ošklivými v souvislosti s RPG hitem Bethesdy z roku 2011 Elder Scrolls V: Skyrim. Vývojář SKSE nedávno nastínil, jak byl kód z SKSE použit v Skyrim Společně mod, který porušuje několik podmínek, což se prý špatně odráží v týmu SKSE a mohlo by to vést k „velmi špatnému právnímu postavení u Bethesdy“.

Pokud nevíte, Skyrim Script Extender (SKSE) je nástroj používaný mnoha lidmi Skyrim modders, což umožňuje skriptovacím schopnostem dosáhnout nových limitů a zároveň přidat další/nové funkce Skyrim.

To nyní vede k Skyrim Společně, což je připravovaný mod, který je aktuálně ve verzi beta. Tento mod umožňuje kolegovi Skyrim aby se hráči spojili a prozkoumali fantasy svět zmíněné hry. Nicméně, tým za mod má a Patreon účet že člověk musí přispět, aby mohl beta verzi vyzkoušet:

"Rozhodli jsme se poskytnout uzavřený beta přístup VŠEM bývalým a budoucím patronům, nezajímá nás částka zástavy, stačí 1 dolar na vstup. Toto je BETA, nevrátíme vám 1 dolar, pokud nejste spokojeni se stavem beta, protože nemáme čas se tím zabývat. Pokud si nejste jisti, že se k beta verzi nepřipojujete, udělali jsme to pouze proto, abychom omezili počet lidí, kteří se připojují k našim serverům. Neslibujte, pokud očekáváte plně funkční zážitek bez chyb.“

Existuje však problém, který by v tomto případě mohl vést k plechovce červů zabývajících se Bethesdou a právními problémy. Podle vývojáře SKSE Extrwi, následující informace na sub-reddit r/skyrimmods publikováno 2. února 2019:

„Myslím, že je čas na další drama. Promiň, nesnáším, když musím dělat takové věci.

 

Skyrim Together krade kód SKSE, nepřipsán, bez povolení, s výslovným termínem v licenci, který omezuje jednoho z autorů v tom, aby měl s kódem cokoli společného, ​​který popírá použití čehokoli z toho (v případě, že to bude smazáno)? Důkaz je docela jasný, když se podíváte na loader a dll v disassembleru. Používají hacknutou verzi 1.7.3 classic pravděpodobně s některými makry preprocesoru k přepínání typů struktury podle potřeby mezi verzemi x64 a x86.

 

Počínaje zavaděčem je to v podstatě skse_loader se všemi vypnutými možnostmi a změněnými chybovými zprávami. V podstatě zkontrolují chybový kód CreateProcessA proti ERROR_ELEVATION_REQUIRED a poté mají mírně přeformulovanou chybovou zprávu, aby tento případ zvládli. Že jsem viděl, že je to trochu podezřelá náhoda.

 

Přejděte ke skutečnému kódu pro vkládání DLL na +4B81 a postupujte podle InjectDLLThread skse64skse64_loader_commonInject.cpp. První funkcí je pouze obal SEH, který volá DoInjectDLLThread, aby provedl skutečnou práci. DoInjectDLLThread vypadá téměř přesně stejně, pouze je odstraněna kontrola, že existuje DLL. Časový limit pro WaitForSingleObject je úplně stejný, i když je přepínán mezi INFINITE, 60 sekund, a není vůbec volán přes dva boolovské argumenty se stejnými indexy. To je docela jasná kopie."

Extrwi by na výše uvedené informace navázal příspěvkem zobrazujícím spoustu cest k souborům týkajícím se DLL na obrázku níže:

Zobrazit příspěvek na imgur.com

Extrwi později vysvětluje, jak hlavní zdroj SKSE není licencován pod licencí open source na rozdíl od běžných souborů SKSE (nebo licence MIT):

„Common je samozřejmě licencován MIT a nevyžaduje uvedení zdroje (ale vždy se oceňuje), ale hlavní zdroj SKSE nikoli. Technicky to vždy podléhalo běžnému autorskému zákonu.“

Zápis od Extrwi se také dotýká zkopírovaného nezměněného kódu od SKSE:

„Když se podíváte na celou knihovnu DLL, existuje spousta kódu, který lze snadno identifikovat jako zkopírovaný beze změny z SKSE pouze z řetězců a chybových zpráv. Existuje většina nových funkcí skriptu, pokud ne všechny, serializace, v podstatě všechno. Data RTTI ukazují na tuny vlastních tříd SKSE; upřímně se mi z celé věci dělá špatně.

 

Pokud chcete, aby byla skvělá „kuřácká pistole“ kódu SKSE přímo použita ve funkcích, které přidali, podívejte se na definici TESNPC a porovnejte ji s funkcí na +2B5A00, která vypadá, že prochází členy TESNPC (mimo jiné ) vytvořit řetězec. Názvy polí se náhodou shodují, a to i včetně očíslovaných „neznámých“. To je mimo náhodu."

S vystavenou „kuřáckou pistolí“ Extrwi končí vysvětlením, jaké nebezpečné akce, jako jsou ty, které spáchal tým Skyrim Together, mohou způsobit ostatním:

"Tato krádež zdrojového kódu je zcela nepřipsána, autoři popírají, a jsem si jistý, že to byla velká pomoc při vývoji jejich modu, který je v současné době použitelný pouze po zaplacení. Momentálně si nejsem jistý, co s touto situací dělat.

 

Všimněte si, že je normální, že běžné pluginy nativního kódu používají přímo zdrojový kód SKSE, a to je v pořádku. Předpokládá se, že mají svůj zdroj k dispozici, ale ve skutečnosti se to vždy nestává. ST způsobuje problém tím, že porušuje licenci, nepřipisuje kredit, snaží se zachovat uzavřený zdroj a efektivně zpoplatňuje mod. To se na nás špatně odráží a tlačí nás to do velmi špatné právní pozice vůči Bethesdě.

Jak je uvedeno výše, celý příspěvek, který Extrwi napsal, najdete na r/skyrimmods.

Ostatní média