Есть небольшой коммерческий спрос на решение, реализованное мною на UO Pilot. Хотелось бы продать это решение в количестве более 1 раза, поскольку без всякой защиты от копирования это решение рискует оказаться в общем доступе или начать перепродаваться.
Стою перед выбором, стоит ли мне начинать этим заниматься и пытаться реализовать защиту от копирования и сокрытие от пользователей факта того что используется на самом деле UO Pilot. Вопрос выбора обусловлен тем, что у меня нет никакого представления о сложностях, возможностях и вариантах реализации подобных задач. Суть задач - сокрыть элементы интерфейса и сделать кликер визуально неузнаваемым, а так же сокрыть исполняемый код скрипта и взаимодействие с кликером свести к заполнению полей для ввода некоторых параметров. В остальном реализовать защиту по Hardware ID, так что бы помешать пользователям свободно передавать это решение между собой.
И надеюсь, ничего предосудительного со стороны сообщества данного форума я не задумал, поскольку мои помыслы не претендуют нарушить какое либо лицензионное соглашение? Да и на самом деле много на этом заработать у меня не выйдет в любом случае, но тем не менее спортивный интерес по монетизации хобби все же возник и хотелось бы получить наводки, подсказки и советы по данной теме.
Запуск его на каком-то своем сервере, а юзеры взаимодействуют с ним ключами или типа того.
DarkMaster
13.1.2020, 20:38
Есть одна очень простая формула "насколько надо"/защита. Если будет реально надо - все равно сломают. Вообще самый простой на мой взгляд спобособ скомпилить под луа, там же какие-то моменты защиты предусмотреть. Базовые защиты. Типа имени перса или если получиться легко дернуть hardware id. Но если будет нужно - сломают. Смысла замаричаться с крутой защитой просто нет. Вспомните гта4 - ввалено 100 000 000 долларов только в защиту - итог кряк написан еще до офф релиза.
Цитата(DarkMaster @ 13.1.2020, 20:38)
Смысла замаричаться с крутой защитой просто нет. Вспомните гта4 - ввалено 100 000 000 долларов только в защиту - итог кряк написан еще до офф релиза.
Правильно. Нет доступа к файлам игры в принципе - нет взлома. PS4.
Цитата(DarkMaster @ 13.1.2020, 20:38)
Если будет реально надо - все равно сломают.
Кто умеет что-то сломать, тот и сам себе напишет нужный скрипт. Следовательно такой не является потенциальным клиентом.
У автора вопрос как скрыть код от обычных пользователей, которые максимум умеют файндколор написать и еще пару команд.
DarkMaster
13.1.2020, 21:21
Цитата
Правильно. Нет доступа к файлам игры в принципе - нет взлома. PS4.
Нет серверной части - нет игры.
Пиратки вов, л2 и прочие не существуют)
DarkMaster
13.1.2020, 21:33
Цитата
У автора вопрос как скрыть код от обычных пользователей, которые максимум умеют файндколор написать и еще пару команд.
скомпилить под луа, не насиловать себе мозг
Цитата(DarkMaster @ 13.1.2020, 21:21)
Нет серверной части - нет игры.
Пиратки вов, л2 и прочие не существуют)
Там же сервер неофициальный, так ? Кто-то сорцы сервера слил и пошли сборки или кто-то умный написал с нуля ? Играть можно, но иметь плюшки официальные - нет. Я далек от индустрии игр, могу ошибаться.
Цитата
скомпилить под луа
и как запустить из под пилота ?
DarkMaster
13.1.2020, 21:56
Цитата
и как запустить из под пилота ?
точно так же подгрузив через require
Цитата
Там же сервер неофициальный, так ?
К сожалению, как правило это плюс.
Цитата
Кто-то сорцы сервера слил и пошли сборки или кто-то умный написал с нуля ?
Поразному бывает. Редко сливается, как правило пишут сами. Были серваки построенные на анализе сетвеой активности. Бывает и бинарники серверные дизасемблят и патчат под новые версии.
Цитата
Играть можно, но иметь плюшки официальные - нет.
А можно получить офф сервер от 4game и молить богов на появление пиратки.
Цитата(DarkMaster @ 13.1.2020, 21:56)
точно так же подгрузив через require
спасибо, не знал. В случае с джитом код сразу машинный ?
Цитата(DarkMaster @ 13.1.2020, 21:56)
К сожалению, как правило это плюс.
А можно получить офф сервер от 4game и молить богов на появление пиратки.
Ну я не беру в расчет подобные случаи. Да и задача стоит не в выжимании максимальной прибыли, а в том чтобы заработать хоть что-то. Пока не наглеешь никто особо пиратить и не будет.
DarkMaster
13.1.2020, 23:38
Цитата
спасибо, не знал. В случае с джитом код сразу машинный ?
А каким еще может быть бинарник? о.О
А вот как пересобирается jit при этом я хз. Подозреваю, что там просто идут в бинарнике некоторые избыточние разбиения на подпрограммы которые потом пересобираются по мере надобности. Как работает jit я представляю, но вот источник из которого он занимается пересборкой я хз.
Цитата(DarkMaster @ 13.1.2020, 23:38)
А каким еще может быть бинарник? о.О
А вот как пересобирается jit при этом я хз. Подозреваю, что там просто идут в бинарнике некоторые избыточние разбиения на подпрограммы которые потом пересобираются по мере надобности. Как работает jit я представляю, но вот источник из которого он занимается пересборкой я хз.
ну длл-ка джита понятно что бинарная, а вот luac файлы не бинарные. это байт код.
к слову, тоже примитивно декомпилируется.
Цитата(DarkMaster @ 13.1.2020, 20:38)
Вообще самый простой на мой взгляд спобособ скомпилить под луа, там же какие-то моменты защиты предусмотреть. Базовые защиты. Типа имени перса или если получиться легко дернуть hardware id.
Существуют ли в Lua готовые решения поиска картинки на экране, функционирующие подобно оператору Findimage в UO Pilot?
Код
--lua
local arr, a = findimage (0, 0, 1920, 1080, {[[C:\111.bmp]]}, 2) -- поиск картинки
if arr then -- если найдена
move (arr[1][1], arr[1][2]) -- навести курсор на неё
end
Но 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 в первой строке. Все доступно, все работает.
А что в данном случае означает "скомпилить под луа"? Пользователю придется использовать 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 положительного ответа от бекэнда не получат
- делал чуть интереснее вышесказанного, типа криптование. ПО кодирует цифру алгоритмом например: (год*день_недели*минута)/месяц и шлет ее бэкэнду, бэкэенд его проверяет по тому же алгоритму и в случае положительного результата возвращает ответ по второму похожему алгоритму, который так же есть в ПО. если пользователь просниферил и придумал как совать в ПО эти циферки чтобы обойти защиту, то понять алгоритм не так просто и если будет подсовывать ПО херню, то дальше не буду говорить что -)
понятно, что все это можно обойти, но пострадать этим было занимательно)
Самое простое решение, как сказал DarkMaster - это скомпилить Lua и прятать окно пилота. В самом коде предварительно ты можешь указывать Hardware ID, если он заранее будет известен тебе. С помощью какого-то софта из интернета можешь изменить иконку и имя приложению, если принципиально.
На выходе получится, что юзер получивший копию софта сможет запускать его только на указанном ПК, в противном случае скрипт выдаст ошибку с твоим уведомлением.
Подобное можно сделать еще рядом методов, включая полный редизайн пилота и его функций, но сомневаюсь что идея себя окупит даже при наличии соответствующих навыков. Так что первый вариант наиболее приемлем.
olduo.com
16.1.2020, 17:35
Цитата(Juzzver @ 16.1.2020, 4:20)
Самое простое решение, как сказал DarkMaster - это скомпилить Lua и прятать окно пилота.
и наверн лучше обфусцировать както, а то вот оно чё
http://luadec.luaforge.net
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.