Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Защита от копирования решения, реализованного на UO Pilot. Возможно ли?

Автор: Silverr 13.1.2020, 10:35

Есть небольшой коммерческий спрос на решение, реализованное мною на UO Pilot. Хотелось бы продать это решение в количестве более 1 раза, поскольку без всякой защиты от копирования это решение рискует оказаться в общем доступе или начать перепродаваться.

Стою перед выбором, стоит ли мне начинать этим заниматься и пытаться реализовать защиту от копирования и сокрытие от пользователей факта того что используется на самом деле UO Pilot. Вопрос выбора обусловлен тем, что у меня нет никакого представления о сложностях, возможностях и вариантах реализации подобных задач. Суть задач - сокрыть элементы интерфейса и сделать кликер визуально неузнаваемым, а так же сокрыть исполняемый код скрипта и взаимодействие с кликером свести к заполнению полей для ввода некоторых параметров. В остальном реализовать защиту по Hardware ID, так что бы помешать пользователям свободно передавать это решение между собой.

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

Автор: Cockney 13.1.2020, 18:15

Запуск его на каком-то своем сервере, а юзеры взаимодействуют с ним ключами или типа того.


Автор: DarkMaster 13.1.2020, 20:38

Есть одна очень простая формула "насколько надо"/защита. Если будет реально надо - все равно сломают. Вообще самый простой на мой взгляд спобособ скомпилить под луа, там же какие-то моменты защиты предусмотреть. Базовые защиты. Типа имени перса или если получиться легко дернуть hardware id. Но если будет нужно - сломают. Смысла замаричаться с крутой защитой просто нет. Вспомните гта4 - ввалено 100 000 000 долларов только в защиту - итог кряк написан еще до офф релиза.

Автор: Cockney 13.1.2020, 20:49

Цитата(DarkMaster @ 13.1.2020, 20:38) *

Смысла замаричаться с крутой защитой просто нет. Вспомните гта4 - ввалено 100 000 000 долларов только в защиту - итог кряк написан еще до офф релиза.



Правильно. Нет доступа к файлам игры в принципе - нет взлома. PS4.

Автор: Fors1k 13.1.2020, 21:02

Цитата(DarkMaster @ 13.1.2020, 20:38) *
Если будет реально надо - все равно сломают.

Кто умеет что-то сломать, тот и сам себе напишет нужный скрипт. Следовательно такой не является потенциальным клиентом.
У автора вопрос как скрыть код от обычных пользователей, которые максимум умеют файндколор написать и еще пару команд.

Автор: DarkMaster 13.1.2020, 21:21

Цитата
Правильно. Нет доступа к файлам игры в принципе - нет взлома. PS4.

Нет серверной части - нет игры.
Пиратки вов, л2 и прочие не существуют)

Автор: DarkMaster 13.1.2020, 21:33

Цитата
У автора вопрос как скрыть код от обычных пользователей, которые максимум умеют файндколор написать и еще пару команд.

скомпилить под луа, не насиловать себе мозг

Автор: Cockney 13.1.2020, 21:47

Цитата(DarkMaster @ 13.1.2020, 21:21) *

Нет серверной части - нет игры.
Пиратки вов, л2 и прочие не существуют)



Там же сервер неофициальный, так ? Кто-то сорцы сервера слил и пошли сборки или кто-то умный написал с нуля ? Играть можно, но иметь плюшки официальные - нет. Я далек от индустрии игр, могу ошибаться.


Цитата
скомпилить под луа


и как запустить из под пилота ?

Автор: DarkMaster 13.1.2020, 21:56

Цитата
и как запустить из под пилота ?

точно так же подгрузив через require
Цитата
Там же сервер неофициальный, так ?

К сожалению, как правило это плюс.
Цитата
Кто-то сорцы сервера слил и пошли сборки или кто-то умный написал с нуля ?

Поразному бывает. Редко сливается, как правило пишут сами. Были серваки построенные на анализе сетвеой активности. Бывает и бинарники серверные дизасемблят и патчат под новые версии.

Цитата
Играть можно, но иметь плюшки официальные - нет.

А можно получить офф сервер от 4game и молить богов на появление пиратки.

Автор: Cockney 13.1.2020, 22:34

Цитата(DarkMaster @ 13.1.2020, 21:56) *

точно так же подгрузив через require


спасибо, не знал. В случае с джитом код сразу машинный ?

Цитата(DarkMaster @ 13.1.2020, 21:56) *

К сожалению, как правило это плюс.

А можно получить офф сервер от 4game и молить богов на появление пиратки.


Ну я не беру в расчет подобные случаи. Да и задача стоит не в выжимании максимальной прибыли, а в том чтобы заработать хоть что-то. Пока не наглеешь никто особо пиратить и не будет.

Автор: DarkMaster 13.1.2020, 23:38

Цитата
спасибо, не знал. В случае с джитом код сразу машинный ?

А каким еще может быть бинарник? о.О
А вот как пересобирается jit при этом я хз. Подозреваю, что там просто идут в бинарнике некоторые избыточние разбиения на подпрограммы которые потом пересобираются по мере надобности. Как работает jit я представляю, но вот источник из которого он занимается пересборкой я хз.

Автор: Cockney 14.1.2020, 0:01

Цитата(DarkMaster @ 13.1.2020, 23:38) *

А каким еще может быть бинарник? о.О
А вот как пересобирается jit при этом я хз. Подозреваю, что там просто идут в бинарнике некоторые избыточние разбиения на подпрограммы которые потом пересобираются по мере надобности. Как работает jit я представляю, но вот источник из которого он занимается пересборкой я хз.



ну длл-ка джита понятно что бинарная, а вот luac файлы не бинарные. это байт код.

к слову, тоже примитивно декомпилируется.

Автор: Silverr 15.1.2020, 8:23

Цитата(DarkMaster @ 13.1.2020, 20:38) *

Вообще самый простой на мой взгляд спобособ скомпилить под луа, там же какие-то моменты защиты предусмотреть. Базовые защиты. Типа имени перса или если получиться легко дернуть hardware id.


Существуют ли в Lua готовые решения поиска картинки на экране, функционирующие подобно оператору Findimage в UO Pilot?

Автор: cirus 15.1.2020, 8:31

Код
--lua
local arr, a = findimage (0, 0, 1920, 1080, {[[C:\111.bmp]]}, 2)    -- поиск картинки
if arr then    -- если найдена
    move (arr[1][1], arr[1][2])  -- навести курсор на неё
end

Автор: Silverr 15.1.2020, 8:35

Но findimage, это оператор, функционирующий исключительно в UO Pilot? Код, приведенный вами, будет работать в UO Pilot, но не в Lua отдельно от UO Pilot?

DarkMaster предложил скомпилить под луа, но в этом случае, на сколько я понимаю, придется отказаться от встроенных в UO Pilot функций (таких как findimage) и обходится исключительно тем что есть в Lua.

Поэтому я и спросил, существуют ли в Lua готовые решения поиска картинки на экране, функционирующие подобно оператору Findimage в UO Pilot? Или что я понимаю неправильно?

Автор: DarkMaster 15.1.2020, 14:12

Lua встроен в пилот. Включается с помощью --lua в первой строке. Все доступно, все работает.

Автор: Silverr 15.1.2020, 14:49

А что в данном случае означает "скомпилить под луа"? Пользователю придется использовать UO Pilot с той лишь разницей, что весь код скрипта будет лежать в зашифрованном lua файле и подгружаться в UO Pilot, так что пользователь будет видеть UO Pilot, но код скрипта видеть не будет (кроме строчки подгрузки этого файла)? Или что я понимаю неправильно?

Автор: DarkMaster 15.1.2020, 19:40

Создайте ярлык/батник для пилота с ключами на запуск скрипта. В настройках пилота выставить запуск в трей, запускать свернутым. В скрипте прописать скрытие окна.

Автор: olduo.com 16.1.2020, 0:04

я когда фрилансил любил такой херней пострадать, чтобы обезопасить себя пока ПО тестят и еще не оплатили его.
- Hardware ID делал, но это банально
- из простого на пару строк - обращение к текстовому файлику на моем сайте, в котором "1", если ПО получило ответ "1", то все норм.
- делал ключи, за ПО закрепляется ключ, хочешь передавай ПО 3тим лицам, но одновременно 2 ПО с одинаковым ключем и разными IP положительного ответа от бекэнда не получат
- делал чуть интереснее вышесказанного, типа криптование. ПО кодирует цифру алгоритмом например: (год*день_недели*минута)/месяц и шлет ее бэкэнду, бэкэенд его проверяет по тому же алгоритму и в случае положительного результата возвращает ответ по второму похожему алгоритму, который так же есть в ПО. если пользователь просниферил и придумал как совать в ПО эти циферки чтобы обойти защиту, то понять алгоритм не так просто и если будет подсовывать ПО херню, то дальше не буду говорить что -)

понятно, что все это можно обойти, но пострадать этим было занимательно)

Автор: Juzzver 16.1.2020, 4:20

Самое простое решение, как сказал DarkMaster - это скомпилить Lua и прятать окно пилота. В самом коде предварительно ты можешь указывать Hardware ID, если он заранее будет известен тебе. С помощью какого-то софта из интернета можешь изменить иконку и имя приложению, если принципиально.
На выходе получится, что юзер получивший копию софта сможет запускать его только на указанном ПК, в противном случае скрипт выдаст ошибку с твоим уведомлением.

Подобное можно сделать еще рядом методов, включая полный редизайн пилота и его функций, но сомневаюсь что идея себя окупит даже при наличии соответствующих навыков. Так что первый вариант наиболее приемлем.

Автор: olduo.com 16.1.2020, 17:35

Цитата(Juzzver @ 16.1.2020, 4:20) *
Самое простое решение, как сказал DarkMaster - это скомпилить Lua и прятать окно пилота.
и наверн лучше обфусцировать както, а то вот оно чё http://luadec.luaforge.net

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)