Как статья?

1539530проверка файлов cookieSkyrim вместе и проблемы SKSE возникают из-за использования кода и юридических вопросов
Медиа
2019/02

Skyrim вместе и проблемы SKSE возникают из-за использования кода и юридических вопросов

Похоже, что некоторые проблемы с моддерами, которые могут стать ужасными, недавно возникли в отношении популярной ролевой игры Bethesda 2011 года. The Elder Scrolls V: Скайрим. Недавно разработчик SKSE рассказал, как код SKSE использовался в Скайрим вместе мод, который нарушает несколько условий, что, как говорят, плохо отражается на команде SKSE и может привести к «очень плохой юридической позиции с Bethesda».

Если вы не знаете, Skyrim Script Extender (SKSE) — это инструмент, используемый многими Skyrim моддеров, что позволяет возможностям сценариев достигать новых пределов, добавляя дополнительные/новые функции в Skyrim.

Теперь это приводит к Скайрим вместе, это будущий мод, который в настоящее время находится в стадии бета-тестирования. Этот мод позволяет товарищу Skyrim игроки объединяются и исследуют фантастический мир указанной игры. Однако у команды, создавшей мод, есть Patreon счет на что нужно сделать пожертвование, чтобы опробовать бета-версию:

“Мы решили предоставить доступ к закрытому бета-тестированию ВСЕМ бывшим и будущим патреонам, нас не волнует сумма залога, для входа достаточно 1 доллара. Это БЕТА, мы не вернем вам 1 доллар, если вы недовольны состоянием бета-версии, потому что у нас нет времени этим заниматься. Если вы не уверены, не присоединяйтесь к бета-тестированию, мы сделали это только для того, чтобы ограничить количество людей, присоединяющихся к нашим серверам. Не обещайте, если вы ожидаете полнофункциональную версию без ошибок».

Но есть проблема, которая может привести к тому, что в этом случае возникнет проблема с Bethesda и юридическими проблемами. По словам разработчика SKSE Extrwi, следующая информация на субреддите г/skyrimmods опубликовано 2 февраля 2019 г.:

«Думаю, пришло время для большей драмы. Извините, я ненавижу делать такие вещи.

 

Skyrim Together крадет код SKSE, не указанный в титрах, без разрешения, с явным условием в лицензии, запрещающим одному из авторов иметь какое-либо отношение к коду, который отрицает использование чего-либо из этого (на случай, если это удалят)? Доказательство довольно ясно, если вы посмотрите на загрузчик и dll в дизассемблере. Они используют взломанную версию классической версии 1.7.3, предположительно с некоторыми макросами препроцессора для переключения типов структур по мере необходимости между версиями x64 и x86.

 

Начиная с загрузчика, это по сути skse_loader со всеми отключенными параметрами и измененными сообщениями об ошибках. В основном они проверяют код ошибки CreateProcessA на наличие ERROR_ELEVATION_REQUIRED, а затем имеют слегка переформулированное окно сообщения об ошибке для обработки этого случая. Мне показалось, что это немного подозрительное совпадение.

 

Перейдите к фактическому коду внедрения DLL по адресу +4B81 и следуйте инструкциям InjectDLLThread skse64skse64_loader_commonInject.cpp. Первая функция — это просто оболочка SEH, вызывающая DoInjectDLLThread для выполнения реальной работы. DoInjectDLLThread выглядит почти точно так же, только с удаленной проверкой существования DLL. Тайм-аут для WaitForSingleObject точно такой же, даже если он переключается между INFINITE, 60 секунд, и вообще не вызывается через два логических аргумента с одинаковыми индексами. Это довольно четкая копия».

Extrwi дополнит приведенную выше информацию сообщением, показывающим множество путей к файлам, относящимся к DLL, на изображении ниже:

Посмотреть сообщению imgur.com

Позже Extrwi объясняет, почему основной исходный код SKSE не лицензируется по лицензии с открытым исходным кодом, в отличие от общих файлов SKSE (или лицензии MIT):

«Конечно, Common имеет лицензию MIT и не требует указания авторства (но всегда приветствуется), но основной источник SKSE — нет. Технически это всегда подпадало под действие общего закона об авторском праве».

В статье Extrwi также упоминается скопированный неизмененный код из SKSE:

«Просматривая DLL, можно увидеть массу кода, который легко определить как скопированный из SKSE в неизмененном виде только по строкам и сообщениям об ошибках. Присутствуют большинство, если не все, новые функции скриптов, сериализация, в общем все. Данные RTTI указывают на множество пользовательских классов SKSE; честно говоря, меня от всего этого тошнит.

 

Если вы хотите, чтобы отличный «дымящийся пистолет» кода SKSE напрямую использовался в добавленных ими функциях, посмотрите на определение TESNPC и сравните его с функцией по адресу +2B5A00, которая, кажется, ходит по членам TESNPC (среди прочего ), чтобы построить строку. Названия полей просто совпадают, даже включая пронумерованные «неизвестные». Это за пределами совпадения».

Демонстрируя «дымящийся пистолет», Extrwi заканчивает объяснением того, какие опасные действия, подобные тем, которые совершает команда Skyrim Together, могут навлечь на других:

«Эта кража исходного кода совершенно не указана в титрах, отрицается авторами, и я уверен, что она оказала большую помощь в разработке их мода, который в настоящее время можно использовать только при оплате. В настоящее время я не знаю, что делать в этой ситуации.

 

Обратите внимание, что обычные плагины собственного кода обычно используют исходный код SKSE напрямую, и это нормально. Предполагается, что у них должен быть доступен источник, но на самом деле это не всегда происходит. ST создает проблемы, нарушая лицензию, не указывая авторства, изо всех сил стараясь сохранить закрытый исходный код и фактически взимая плату за мод. Это плохо отражается на нас и подталкивает нас к очень плохой юридической позиции с Bethesda».

Как указано выше, полный пост, написанный Extrwi, можно найти на сайте г/skyrimmods.

Другие медиа